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-7.6 systemd platform.

Package Information

User Notes:

Installation of Pth



Building this package in Gnome Terminal will cause it to hang on configure.



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 option stops it compiling a static version of the library.

--mandir=/usr/share/man: This option puts the man pages in /usr/share/man and not /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 2014-08-23 15:42:10 -0700