Introduction to Pth

The Pth package contains a very portable POSIX/ANSI-C based library for Unix platforms which provides non-preemptive priority-based scheduling for multiple threads of execution (multithreading) inside event-driven applications. All threads run in the same address space of the server application, but each thread has its own individual program-counter, run-time stack, signal mask and errno variable.

This package is known to build and work properly using an LFS-8.3 platform.

Package Information

User Notes:

Installation of Pth



Don't add the --enable-pthread parameter to the configure command below else you will overwrite the pthread library and interface header installed by the Glibc package in LFS.

Install Pth by running the following commands:

sed -i 's#$(LOBJS): Makefile#$(LOBJS): pth_p.h Makefile#' &&
./configure --prefix=/usr           \
            --disable-static        \
            --mandir=/usr/share/man &&

To test the results, issue: make test.

Now, as the root user:

make install &&
install -v -m755 -d /usr/share/doc/pth-2.0.7 &&
install -v -m644    README PORTING SUPPORT TESTS \

Command Explanations

sed -i 's#$(LOBJS) ...: This sed fixes a race condition in the Makefile. It allows you to run make with multiple jobs (e.g., make -j4) .

--disable-static: This switch prevents installation of static versions of the libraries.

--mandir=/usr/share/man: This switch puts the man pages in /usr/share/man instead of /usr/man.


Installed Program: pth-config
Installed Library:
Installed Directory: /usr/share/doc/pth-2.0.7

Short Descriptions


is a utility used to configure and build applications based on the pth(3) library. It can be used to query the C compiler and linker flags which are required to correctly compile and link the application against the pth(3) library.

contains the API functions used by the GNU Portable Threads Library.

Last updated on 2018-08-15 18:24:48 -0700