ci: expand lib64 workaround to more Linux distros
Refs: #5299
Change-Id: I0b40cd2b463b92d3b97d08e9edabab673fb13e57
diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh
index 5a0f4b1..9616634 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -10,9 +10,6 @@
if [[ $ID == macos && ${VERSION_ID%%.*} -ge 12 ]]; then
KEYCHAIN="--without-osx-keychain"
fi
-if [[ -n $DISABLE_PCH ]]; then
- PCH="--without-pch"
-fi
set -x
@@ -25,7 +22,7 @@
./waf --color=yes distclean
# Build static and shared library in release mode with examples
- ./waf --color=yes configure --enable-static --enable-shared --with-examples $PCH
+ ./waf --color=yes configure --enable-static --enable-shared --with-examples
./waf --color=yes build
# Cleanup
@@ -33,7 +30,7 @@
fi
# Build shared library in debug mode with tests
-./waf --color=yes configure --disable-static --enable-shared --debug --with-tests $ASAN $COVERAGE $KEYCHAIN $PCH
+./waf --color=yes configure --disable-static --enable-shared --debug --with-tests $ASAN $COVERAGE $KEYCHAIN
./waf --color=yes build
# (tests will be run against the debug version)
@@ -41,9 +38,9 @@
# Install
sudo ./waf --color=yes install
-if [[ $ID_LIKE == *fedora* ]]; then
- sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
-fi
if [[ $ID_LIKE == *linux* ]]; then
+ if [[ $(uname -m) == x86_64 && -d /usr/lib64 ]]; then
+ sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
+ fi
sudo ldconfig
fi
diff --git a/.jenkins.d/40-headers-check.sh b/.jenkins.d/40-headers-check.sh
index 28cc98f..5e543dc 100755
--- a/.jenkins.d/40-headers-check.sh
+++ b/.jenkins.d/40-headers-check.sh
@@ -11,7 +11,7 @@
exit 0
fi
-if [[ $ID_LIKE == *fedora* ]]; then
+if [[ $ID_LIKE == *linux* && -d /usr/local/lib64/pkgconfig ]]; then
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
fi
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index 798ac40..78ca054 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -161,37 +161,37 @@
sudo ldconfig
.. note::
- When the library is installed in a non-default location (in general: not in ``/usr/lib``
- or ``/usr/local/lib``; on some Linux distros like Fedora and its derivatives, including
- CentOS: not in ``/usr/lib``), the following additional actions may be necessary.
+ On Linux, when the library is installed in a non-default location (generally, not in
+ ``/usr/lib`` or ``/usr/local/lib``), the following additional actions may be necessary.
- The library installation path should be added to ``/etc/ld.so.conf`` or in
- ``/etc/ld.so.conf.d/*.conf`` **before** running ``ldconfig``. For example:
+ The library installation path should be added to ``/etc/ld.so.conf`` or to
+ ``/etc/ld.so.conf.d/*.conf`` before running ``ldconfig``. For example:
.. code-block:: sh
- echo /usr/local/lib | sudo tee /etc/ld.so.conf.d/ndn-cxx.conf
+ echo /usr/local/lib64 | sudo tee /etc/ld.so.conf.d/ndn-cxx.conf
+ sudo ldconfig
Alternatively, the ``LD_LIBRARY_PATH`` environment variable can be set to point to
the installation directory of the shared library:
.. code-block:: sh
- export LD_LIBRARY_PATH=/usr/local/lib
+ export LD_LIBRARY_PATH=/usr/local/lib64
The ``./waf install`` command installs the following files:
-- ``<LIBPATH>/libndn-cxx.a``: static NDN C++ library (if enabled).
-- ``<LIBPATH>/libndn-cxx.so``, ``<LIBPATH>/libndn-cxx.so.<VERSION>`` (on Linux),
- ``<LIBPATH>/libndn-cxx.dylib``, ``<LIBPATH>/libndn-cxx.<VERSION>.dylib`` (on macOS):
+- ``<LIBDIR>/libndn-cxx.a``: static NDN C++ library (if enabled).
+- ``<LIBDIR>/libndn-cxx.so``, ``<LIBDIR>/libndn-cxx.so.<VERSION>`` (on Linux),
+ ``<LIBDIR>/libndn-cxx.dylib``, ``<LIBDIR>/libndn-cxx.<VERSION>.dylib`` (on macOS):
shared NDN C++ library (if enabled).
-- ``<LIBPATH>/pkgconfig/libndn-cxx.pc``: pkgconfig file storing all necessary flags to
+- ``<LIBDIR>/pkgconfig/libndn-cxx.pc``: pkgconfig file storing all necessary flags to
build against the library. For example, if the ``pkg-config`` or ``pkgconf-pkg-config``
package is installed and ``PKG_CONFIG_PATH`` is configured properly (or if
- ``<LIBPATH>/pkgconfig`` is a default search path), the command ``pkg-config --cflags
+ ``<LIBDIR>/pkgconfig`` is a default search path), the command ``pkg-config --cflags
--libs libndn-cxx`` will return all necessary compile and link flags for the library.
-- ``<BINPATH>/ndnsec``: command-line tool to manage NDN keys and certificates.
-- ``<BINPATH>/ndnsec-*``: convenience aliases for ``ndnsec`` tools.
+- ``<BINDIR>/ndnsec``: command-line tool to manage NDN keys and certificates.
+- ``<BINDIR>/ndnsec-*``: convenience aliases for ``ndnsec`` tools.
If configured with tests (``./waf configure --with-tests``), the above commands
will also produce: