The libunwind package contains a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation.
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.
Install libunwind by running the following commands:
./configure --prefix=/usr --disable-static && make
To test the results, issue: make check. Two tests, run-coredump-unwind and run-coredump-unwind-mdi are known to fail.
Now, as the root
user:
make install
First clean the directory:
make distclean
Install lib32-libunwind by running the following commands:
CC="gcc -m32" CXX="g++ -m32" \ PKG_CONFIG_PATH=/usr/lib32/pkgconfig \ CFLAGS+=" -Wno-error=incompatible-pointer-types" \ ./configure --prefix=/usr \ --libdir=/usr/lib32 \ --host=i686-pc-linux-gnu \ --disable-static && make
Now, as the root
user:
make DESTDIR=$PWD/DESTDIR install cp -vr DESTDIR/usr/lib32/* /usr/lib32 cp -v DESTDIR/usr/include/libunwind-x86.h /usr/include rm -rf DESTDIR ldconfig
--disable-static
: This
switch prevents installation of static versions of the libraries.