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.
Note
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Package Information
Pth Dependencies
Optional
GCC-13.2.0 (for gfortran) and libnsl-2.0.1
Installation of Pth
Caution
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#' Makefile.in &&
./configure --prefix=/usr \
--disable-static \
--mandir=/usr/share/man &&
make
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 \
/usr/share/doc/pth-2.0.7
Command Explanations
sed -i 's#$(LOBJS) ...: This sed fixes a race condition in the Makefile
. It allows running 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
.
Contents
Installed Program: pth-config
Installed Library: libpth.so
Installed Directory: /usr/share/doc/pth-2.0.7
Short Descriptions
pth-config
|
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
|
libpth.so
|
contains the API functions used by the GNU Portable Threads Library
|