summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorGuy Harris <gharris@sonic.net>2022-09-26 00:40:50 -0700
committerGuy Harris <gharris@sonic.net>2022-09-26 00:40:50 -0700
commitd58b413e83506c9fbb695686ca4b05b43bb9a8cd (patch)
tree646d3e84df6410f367b027293c7dcf17ca695043 /CMakeLists.txt
parentdcfed11c0baaa95085b51772439f67f09704402c (diff)
downloadtcpdump-d58b413e83506c9fbb695686ca4b05b43bb9a8cd.tar.gz
cmake: expand a comment. [skip ci]
The requirement for setting the run-time path in an executable is not unique to NetBSD; it also appears in the other BSDs, Linux, and Solaris.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 04517ed6..68521db2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,6 +49,20 @@ endif()
# $ {target-directory}/tcpdump -h
# {target-directory}/tcpdump: Shared object "libpcap.so.0" not found
#
+# It also appears to be the case that, on Ubunto 22.04, FreeBSD 12,
+# DragonFly BSD 5.8, OpenBSD 6.6, and Solaris 11.4,
+#
+# On Ubuntu and Solaris, even if you have a libpcap in /usr/local, you
+# have to provide not only -I/usr/local/include and -L/usr/local/lib,
+# you also must provide -Wl,-rpath,/usr/local/lib in order to have
+# the run-time linker look in /usr/local/lib for libpcap. If it's not
+# specified, then, if the shared library major version number of the
+# libpcap in /usr/lib is the same as the shared major version number
+# of the libpcap in /usr/local/lib, the run-time linker will find the
+# libpcap in /usr/lib; if the versions are different, the run-time
+# linker will fail to find the libpcap in /usr/lib, so the program will
+# fail to run.
+#
# We suppress this by setting CMAKE_INSTALL_RPATH_USE_LINK_PATH to TRUE;
# as the documentation for that variable says:
#