LC_RPATH stripped despite setting INSTALL_REMOVE_ENVIRONMENT_RPATH=FALSE Description of problem: When I try to run qemu, I get the following output: > dyld[93165]: Library not loaded: @rpath/libjpeg.62.dylib > Referenced from: <85BC1FBA-CA2E-3CAC-9ABF-E5330AC86CAF> /Users/mj/local/bin/qemu-system-aarch64 > Reason: no LC_RPATH's found Steps to reproduce: If the qemu-9.0.2 folder is present, remove it: ``` $ rm -rf qemu-9.0.2 ``` Create the source folder: ``` $ tar xzf qemu-9.0.2.tar.xz $ cd qemu-9.0.2 ``` Make sure the following environment variables are set: ``` $ export CC=clang $ export LDFLAGS="-rpath $HOME/local/lib" $ export INSTALL_REMOVE_ENVIRONMENT_RPATH=FALSE ``` Configure as follows: ``` $ ./configure --prefix=$HOME/local --disable-sdl --enable-slirp --enable-fdt=internal --enable-spice ``` Build ``` $ make -j 10 ``` Note there are a large number of linker warnings like this: > ld: warning: duplicate -rpath '/Users/mj/local/lib' ignored Execute this: ``` $ otool -l build/qemu-system-aarch64 | grep LC_RPATH -A2 ``` See this output > cmd LC_RPATH > cmdsize 32 > path /Users/mj/local/lib (offset 12) Change directory to $HOME/local/bin & execute: ``` $ otool -l qemu-system-aarch64 | grep LC_RPATH -A2 ``` The output is now empty - the LC_RPATH has been stripped by the install. This results in the failure to execute the resulting binary. Note, I tried using install_name_tool to add the RPATH, but it warned me this changed the signature of the file, and it would not run. Executing qemu-system-aarch64 produces the following: > dyld[93165]: Library not loaded: @rpath/libjpeg.62.dylib > Referenced from: <85BC1FBA-CA2E-3CAC-9ABF-E5330AC86CAF> /Users/mj/local/bin/qemu-system-aarch64 > Reason: no LC_RPATH's found