summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2506.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2506.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/2506.toml68
1 files changed, 68 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2506.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2506.toml
new file mode 100644
index 000000000..76dddf58a
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/2506.toml
@@ -0,0 +1,68 @@
+id = 2506
+title = "LC_RPATH stripped despite setting INSTALL_REMOVE_ENVIRONMENT_RPATH=FALSE"
+state = "opened"
+created_at = "2024-08-14T17:03:03.732Z"
+closed_at = "n/a"
+labels = ["Build System", "hostos: macOS"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2506"
+host-os = "MacOS Sonoma 14.6.1"
+host-arch = "M1 Max"
+qemu-version = "9.0.2"
+guest-os = "n/a"
+guest-arch = "n/a"
+description = """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"""
+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"""
+additional = "n/a"