Introduction to NSPR
Netscape Portable Runtime (NSPR)
provides a platform-neutral API for system level and libc like
functions.
Note
Development versions of GLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Installation of NSPR
Install NSPR by running the
following commands:
cd nspr &&
sed -i '/^RELEASE/s|^|#|' pr/src/misc/Makefile.in &&
sed -i 's|$(LIBRARY) ||' config/rules.mk &&
./configure --prefix=/usr \
--with-mozilla \
--with-pthreads \
$([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make
The test suite is designed for testing changes to nss or nspr and
is not particularly useful for checking a released version (e.g. it
needs to be run on a non-optimized build with both nss and nspr
directories existing alongside each other).
Now, as the root
user:
make install
Command Explanations
sed -ri '/^RELEASE/s/^/#/'
pr/src/misc/Makefile.in: This sed disables
installing two unneeded scripts.
sed -i 's#$(LIBRARY) ##'
config/rules.mk: This sed disables installing the
static libraries.
--with-mozilla
: This
parameter adds Mozilla support to the libraries (required if you
want to build any other Mozilla products and link them to these
libraries).
--with-pthreads
: This
parameter forces use of the system pthread library.
--enable-64bit
: The
--enable-64bit parameter is required on an x86_64 system to prevent
configure failing
with a claim that this is a system without pthread support. The [
$(uname -m) = x86_64 ] test ensures it has no effect on a 32 bit
system. Keep the line if intending to do multilib, and the lib32
instructions will be down below.
32-bit Installation of NSPR
First clean the directory by running the following command:
make distclean
Install lib32-NSPR by running the
following commands:
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--with-mozilla \
--with-pthreads \
--disable-64bit &&
make
Now, as the root
user:
make DESTDIR=$PWD/DESTDIR install
cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig
Contents
Installed Programs:
nspr-config
Installed Libraries:
libnspr4.so, libplc4.so, and
libplds4.so
Installed Directories:
/usr/include/nspr
Short Descriptions
nspr-config
|
provides compiler and linker options to other packages
that use NSPR
|
libnspr4.so
|
contains functions that provide platform independence for
non-GUI operating system facilities such as threads,
thread synchronization, normal file and network I/O,
interval timing and calendar time, basic memory
management and shared library linking
|
libplc4.so
|
contains functions that implement many of the features
offered by libnspr4
|
libplds4.so
|
contains functions that provide data structures
|