« Home

在 guix 上用 patchelf 設定正確的連結器 [A05P]

預設很多 executable 會使用連結器 /lib64/ld-linux-x86-64.so.2,但 Guix 這東西會被放到 store 裡面,所以很多 executable 就無法執行,這時候就需要用

readelf -l  | grep interpreter

指令找出現在使用的是哪一個。用

find /gnu/store -name "ld-linux-x86-64.so.2" | head -5

指令找到系統上有什麼。最後用

patchelf --set-interpreter /gnu/store/.../ld-linux-x86-64.so.2 

設定一個新的給 executable 使用,這時候就可以執行程式了。