sauter incompatible /libSDL.un lors de la recherche pour -lSDL
Je suis en train de "faire" ioquake3 sur machine IBM.
Mais, j'ai continué à obtenir le "sauter incompatible /libSDL.un lors de la recherche pour -lSDL d'erreur".
Je suis à toi l'ultime débutant en Linux, mais pas un dégonflé!
Je n'ai pas de privilèges pour installer les bibliothèques, et notre serveur admin ne répond pas pendant environ une semaine maintenant. Donc, j'ai été googler/test pour une solution maintenant.
Comme le message l'a dit, la bibliothèque qui se trouve sur le système est incompatible. Donc, je suis allé sur le site Ubuntu, et de le télécharger SDL PPC bibliothèque fraîchement.
J'ai téléchargé, décompressé dans un dossier désigné.
Cependant, GCC ne sait pas où les bibliothèques sont. Donc, j'ai trouvé quelque chose qui s'appelle "LD_LIBRARY_PATH="~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib"
pour dire à GCC où mes bibliothèques sont.
Cependant, chaque fois que je fais un "faire", je n'ai pas mon "exporter" dans le dossier de la liste.
S'il vous plaît aider, même avec une manière différente, juste pour fixer mon incompatible librairie SDL problème.
ci-dessous est la sortie:
<pre>rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7188]% echo $LD_LIBRARY_PATH
~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7189]% cd ~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib[7190]% ls
libSDL.a libSDL.la libSDL.so@ libSDLmain.a libopenal.a libopenal.so@ pkgconfig/
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib[7191]%</pre>
<pre>rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7174]% make
make[1]: Entering directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean'
Building ioquake3 in build/release-linux-ppc64:
PLATFORM: linux
ARCH: ppc64
VERSION: 1.36
COMPILE_PLATFORM: linux
COMPILE_ARCH: ppc64
CC: cc
CFLAGS:
-MMD
-Wall
-fno-strict-aliasing
-Wimplicit
-Wstrict-prototypes
-pipe
-DUSE_ICON
-I/usr/include/SDL
-D_GNU_SOURCE=1
-D_REENTRANT
-DUSE_OPENAL
-DUSE_CURL
-maltivec
-Icode/SDL12/include
-m64
-DUSE_MUMBLE
-DUSE_VOIP
-DFLOATING_POINT
-DUSE_ALLOCA
-Icode/libspeex/include
-DUSE_LOCAL_HEADERS
-DPRODUCT_VERSION="1.36"
-DNDEBUG
-O3
-ffast-math
-funroll-loops
-fomit-frame-pointer
LDFLAGS:
LIBS:
-ldl
-lm
Output:
build/release-linux-ppc64/ioq3ded.ppc64
build/release-linux-ppc64/ioquake3.ppc64
build/release-linux-ppc64/baseq3/cgameppc64.so
build/release-linux-ppc64/baseq3/qagameppc64.so
build/release-linux-ppc64/baseq3/uippc64.so
build/release-linux-ppc64/missionpack/cgameppc64.so
build/release-linux-ppc64/missionpack/qagameppc64.so
build/release-linux-ppc64/missionpack/uippc64.so
make[2]: Entering directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean'
make[2]: `build/release-linux-ppc64/ioq3ded.ppc64' is up to date.
LD build/release-linux-ppc64/ioquake3.ppc64
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.so when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.a when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.4.5/../../../libSDL.so when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.4.5/../../../libSDL.a when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.so when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.a when searching for -lSDL
/usr/bin/ld: cannot find -lSDL
collect2: ld returned 1 exit status
make[2]: *** [build/release-linux-ppc64/ioquake3.ppc64] Error 1
make[2]: Leaving directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean'
make[1]: *** [targets] Error 2
make[1]: Leaving directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean'
make: *** [release] Error 2
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7175]% ls</pre>
OriginalL'auteur user598208 | 2011-10-28
Vous devez vous connecter pour publier un commentaire.
LD_LIBRARY_PATH
détermine le chemin de recherche des bibliothèques partagées à l'exécution. Ce que vous voulez, c'est-à-dire où la bibliothèque est sur le temps de compilation. Vous pouvez utiliserLDFLAGS
pour cela - avec le-L
interrupteur, vous pouvez définir le chemin de recherche pour les bibliothèques:make LDFLAGS=-L/path/to/your/SDL
.Il peut être la que le SDL binaires vous attrapé de Ubuntu peut toujours pas de travail, en raison d'une incompatibilité de version etc. Dans ce cas, je vous suggère de télécharger et de construction SDL vous-même.
Oui, le chemin est celui de l' .donc les fichiers. Est-il compiler lorsque vous définissez LDFLAGS?
J'ai découvert que le libSDL.donc, est 32 bits lorsque mon ordinateur est en 64 bits. Donc, j'ai fait quelques modifications, a compilé un nouveau libSDL.a & libSDL.de la sorte, et copiées dans mes "à faire de la" le dossier. Maintenant, je vois le "./" chemin dans les chemins de recherche lorsqu'il compile. Cependant, quand je "fichier -L ./libSDL.donc," j'ai remarqué que même le nouvellement compilé libSDL.donc, est en 32 bits et non 64 bits!! Comment donc, je demande le "faire" pour la libSDL.donc, pour les compiler en 64 bits et non 32 bits?
Je viens d'apprendre que la debian notre serveur "ne fournit pas de 64 bits de compilation". Savez-vous que l'option dans laquelle j'ai ajouté le "faire" de la commande pour compiler en 32 bits?
J'ai trouvé que cela: faire de BASE_CFLAGS=-m32
OriginalL'auteur Antti