(1) Vgl. serverfault: Es gibt im ELF_Header ein Feld DT_RPATH, das einen (potentiell relativen Pfad) zur Bibliothekssuche spezifiziert. Dieser Pfad hat bei der Suche nach der Bibliothek die höchste Priorität. Civilization V verwendet beispielsweise (RPATH unten, NEEDED habe ich belassen um die Verweise ins Verzeichnis zu zeigen)
Code: Alles auswählen
bernhard@bernhard-H97-D3H:~/.steam/steam/SteamApps/common/Sid Meier's Civilization V$ objdump -p Civ5XP
Civ5XP:     file format elf32-i386
Program Header:
[...]
Dynamic Section:
  NEEDED               libcrypto.so.1.0.0
  NEEDED               libMiles.so
  NEEDED               libtbb.so.2
  NEEDED               libssl.so.1.0.0
  NEEDED               libX11.so.6
  NEEDED               libpthread.so.0
  NEEDED               librt.so.1
  NEEDED               libc++.so.1
  NEEDED               libcxxrt.so
  NEEDED               libc.so.6
  NEEDED               ld-linux.so.2
  NEEDED               libsteam_api.so
  NEEDED               libGL.so.1
  NEEDED               libopenal.so.1
  NEEDED               libdl.so.2
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libuuid.so.1
  NEEDED               libiconv.so.2
  RPATH                .
  INIT                 0x08476aec
  FINI                 0x0913bb70
  INIT_ARRAY           0x0a2fd8fcCode: Alles auswählen
bernhard@bernhard-H97-D3H:~/.steam/steam/SteamApps/common/Sid Meier's Civilization V$ ls
binkawin.asi                    libssl.so.1.0.0
Civ5XP                          libsteam_api.so
com.aspyr.civ5xp.version.json   libsteam.so
libcrypto.so.1.0.0              libtbb_debug.so
libc++.so                       libtbb_debug.so.2
libc++.so.1                     libtbbmalloc_debug.so
libc++.so.1.0                   libtbbmalloc_debug.so.2
libCvGameCoreDLL_Expansion1.so  libtbbmalloc.so
libCvGameCoreDLL_Expansion2.so  libtbbmalloc.so.2
libCvGameCoreDLL.so             libtbb.so
libcxxrt.so                     libtbb.so.2
libiconv.so                     libtier0_s.so
libiconv.so.2                   libuuid.so.1
libiconv.so.2.5.1               libuuid.so.1.3.0
libMilesMidi.so                 libvstdlib_s.so
libMiles.so                     mssdolby.flt
libMilesX64.so                  mssdsp.flt
libopenal.so                    mssmixer.mix
libopenal.so.1                  mssmp3.asi
libopenal.so.1.13.0             mssogg.asi
libSDL2-2.0.so.0                msssrs.flt
libSDL2-2.0.so.0.1.0            mssvoice.asi
libSDL2_image-2.0.so.0          steamassets
libSDL2_image-2.0.so.0.0.0      steamclient.so
libSDL2_image.so
Code: Alles auswählen
#/bin/sh
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:."
./Spiel






