summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/108/other/2378
blob: ef147be49a8c6afb2bb1261ee721560fa27c96cb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
semantic: 0.891
graphic: 0.883
other: 0.793
performance: 0.786
device: 0.757
permissions: 0.733
network: 0.690
PID: 0.684
vnc: 0.675
files: 0.612
socket: 0.548
KVM: 0.493
debug: 0.379
boot: 0.373

make install (meson?) removes needed RPATH for libslirp, making build on CentOS 9 difficult
Description of problem:
make install appears to remove need RPATH attributes from the binary, making it difficult if not impossible to install Qemu 9.0.0 on a CentOS 9 machine.

I'm trying to build Qemu 9.0.0 on a CentOS 9 Stream machine where I do not have root.
The system ships with libslirp-4.4.0-7.el9.src.rpm which is libslirp 4.4.0, which is too old for Qemu.

I checked out https://gitlab.freedesktop.org/slirp/libslirp.git which is 2 commits more recent than
libslirp 4.8.0.  I installed this version in a separate directory.

When I configure Qemu using PKG_CONFIG_PATH, it builds the correct executable with the correct RPATH.
readelf -d shows:

 0x000000000000000f (RPATH)              Library rpath: [/web/courses/cs4284/pintostools/lib64]

which is the correct directory where the proper version of libslirp is located.

However, when I run "make install" the RPATH attribute is removed. Thus, Qemu resorts to the system version, which is version 4.4 (with which Qemu won't run.)

Meson's propensity to strip necessary RPATHs appears to be well-known, see, for instance,

https://github.com/mesonbuild/meson/issues/4027

(There is a fix for at least some of the problems in 0.55.0 of Meson
https://mesonbuild.com/Release-notes-for-0-55-0.html
Qemu 9.0.0 appears to use Meson 1.2.3., but yet it still fails.)

Work-around: don't use make install, copy it directly from the build directory to the destination directory.