Problems with openssl pkgconfig in bind 9.18.21 (but probably all 9.18) {External}

Ondřej Surý ondrej at isc.org
Fri Dec 22 18:23:49 UTC 2023


This is what I use for my ThreadSanitizer enabled builds. DON'T USE IT VERBATIM! (It enables ThreadSanitizer and disables optimizations, etc...)

TL;DR The part you want is -Wl,-rpath=$PREFIX/lib

If that doesn't work, experiment with -Wl,--enable-new-dtags vs -Wl,--disable-new-dtags (see here for explanation: https://stackoverflow.com/questions/52018092/how-to-set-rpath-and-runpath-with-gcc-ld)

Also there's always an option to add the paths where you installed the updated libraries to /etc/ld.so.conf (or to /etc/ld.so.conf.d/local.conf).

Cheers,
Ondřej

$ cat tsan-env
#!/bin/sh
export CC="${CC:-clang-18}"
export PREFIX="$HOME/.tsan-${CC}"
case "$CC" in
	clang-*) export CXX=clang++-${CC#clang-} ;;
	gcc-*) export CXX=g++-${CC#gcc-} ;;
	*) exit 1 ;;
esac
export CFLAGS="$CFLAGS -rdynamic -ggdb -O0 -Wno-deprecated-declarations -fno-omit-frame-pointer -fno-optimize-sibling-calls -fPIC -fsanitize=thread -Wl,-rpath=$PREFIX/lib -Wl,--enable-new-dtags"
export CXXFLAGS="$CXXFLAGS -rdynamic -ggdb -O0 -Wno-deprecated-declarations -fno-omit-frame-pointer -fno-optimize-sibling-calls -fPIC -fsanitize=thread -Wl,-rpath=$PREFIX/lib -Wl,--enable-new-dtags"
export LDFLAGS="$LDFLAGS -fPIE -fsanitize=thread -Wl,-rpath=$PREFIX/lib -Wl,--enable-new-dtags"
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export PATH="$PREFIX/sbin:$PREFIX/bin:$PATH"

$ cat build
#!/bin/sh

. ./tsan-env

rm -rf "$PREFIX"

# OpenSSL (skip, it takes too long)
#	 ./config no-asm no-ssl3 no-comp no-weak-ssl-ciphers --prefix="$PREFIX" && \
(cd openssl && \
	 git clean -xdf && \
	 git reset --hard HEAD && \
	 ./config no-ssl3 no-weak-ssl-ciphers --prefix="$PREFIX" --libdir="$PREFIX/lib" && \
	 make -j && \
	 make install_sw)

# libuv
(cd libuv && \
	 git clean -xdf && \
	 git reset --hard HEAD && \
	 ./autogen.sh && \
	 ./configure --prefix="$PREFIX" && \
	 make -j && \
	 make install
)

# userspace-rcu
(cd userspace-rcu && \
	 git clean -xdf && \
	 git reset --hard HEAD && \
	 ./bootstrap &&  \
	 ./configure --prefix="$PREFIX" --enable-compiler-atomic-builtins --disable-legacy-mb && \
	 make -j && \
	 make install
)


--
Ondřej Surý (He/Him)
ondrej at isc.org

My working hours and your working hours may be different. Please do not feel obligated to reply outside your normal working hours.

> On 22. 12. 2023, at 16:44, William D. Colburn <wcolburn at nrao.edu> wrote:
> 
> Your build system did say to manually change it.  I used an environment
> variable, but thought (still think actually) that yhour build system
> should honor pkgconfig for finding packages.




More information about the bind-users mailing list