4 ms·
the example I gave is exactly how stuff has broken in projects. static linked on a kde library that had widget, new one doesn't have that nor a fallback, applic
by LoSboccacc 11y ago
the example I gave is exactly how stuff has broken in projects. static linked on a kde library that had widget, new one doesn't have that nor a fallback, application crashes.
or just go get some old static compiled stuff run on your modern distro and see yourself. like, mindrover the europa project port.
- lawl 11y agoThis will be my last reply. > static linked on a kde library that had widget, new one doesn't have that nor a fallback, application crashes. As I said before, please read up on what static linking means. > like, mindrover the europa project port. $ file Mindrover\ The\ Europa\ Project\ DEMO\ r1-lgp-x86.run Mindrover The Europa Project DEMO r1-lgp-x86.run: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=fe926b7ea13be61d05cdd605e313f50042040153, stripped ...version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2... $ ldd Mindrover\ The\ Europa\ Project\ DEMO\ r1-lgp-x86.run linux-gate.so.1 => (0xf7722000) libglib-2.0.so.0 => not found libz.so.1 => not found libfuse.so.2 => not found librt.so.1 => /lib32/librt.so.1 (0xf7700000) libdl.so.2 => /lib32/libdl.so.2 (0xf76fb000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf76dd000) libc.so.6 => /lib32/libc.so.6 (0xf7525000) /lib/ld-linux.so.2 (0x5660a000) Clearly not a statically linked binary.
- 0X1A 11y agoDon't waste your time, they don't know what they're talking about. I've found most people that complain about ABI breakage usually don't.
- aikah 11y agoCompletely off topic but thank you ! I was starting C programming and I was wondering how to check an executable dependencies. If I were to package an executable which was dynamically linked to use it on another computer without recompiling binaries, how could I proceed ? does ldd show the dependencies of the dependencies too ? Would it be sufficient to put all shared libraries into the same folder as the executable ? thanks.
- lawl 11y agoI think ldd should show this, not sure though. And you can't just put them in the same folder, the thing you want to look up is LD_LIBRARY_PATH.
- pritambaral 11y agoEven better, one can embed the relative path to dynamic libraries by editing the RPATH or RUNPATH attributes in the binary (and using $ORIGIN in the path). Check out chrpath and patchelf.