ich weiß nicht ob ich hier so ganz richtig bin, aber das Topic sagt etwas von Programmiersprachen, also poste ich einfach mal
Es geht um folgendes:
Ich bin mit einer kleinen Internetcommunity auf einen neuen Server umgezogen. Ein AMD64 wie der Titel schon verrät. Auf dieser Maschine möchte ich ein Stück Software laufen lassen, die auf dem alten Rechner lief und für unsere Community essentiell ist. Konkret geht es um die NWNX Schnittstelle zu Neverwinter Nights falls das jemandem etwas sagt.
Mein Problem:
NWNX lässt sich auf dem 64-Bit-System nicht - zumindest nicht ohne weiteres- kompilieren.
Ein versuch den Code auf gegen 64-Bit zu compilieren ist gescheitert, da in der ./configure an mehreren Stellen der Flag CFLAGS='-march=i386' gesetzt wird.
Ich habe also folgendes versucht:
Code: Alles auswählen
export CC='gcc-3.4 -m32 -L/usr/lib32'
export CXX=g++-3.4 -m32 -L/usr/lib32'
./configure
Nun aber:
Code: Alles auswählen
s15204584:/home/games/nwn/linnwnx2# make install
g++-3.4 -m32 -L/usr/lib32 -march=i386 -c -o nwnx2lib.o nwnx2lib.cpp
g++-3.4 -m32 -L/usr/lib32 -march=i386 -c -o NWNXBase.o NWNXBase.cpp
g++-3.4 -m32 -L/usr/lib32 -march=i386 -c -o gline.o gline.cpp
g++-3.4 -m32 -L/usr/lib32 -w -fPIC -shared -W -Wall -o nwnx2.so nwnx2lib.o NWNXBase.o gline.o -ldl -DHAVE_CONFIG_H
make -C db
make[1]: Entering directory `/home/games/nwn/linnwnx2/db'
g++-3.4 -m32 -L/usr/lib32 -march=i386 -I.. -c -o NWNXmysql.o NWNXmysql.cpp
g++-3.4 -m32 -L/usr/lib32 -march=i386 -I.. -c -o plugin-mysql.o plugin-mysql.cpp
g++-3.4 -m32 -L/usr/lib32 -march=i386 -I.. -c -o data.o data.cpp
g++-3.4 -m32 -L/usr/lib32 -march=i386 -I.. -c -o dbmysql.o dbmysql.cpp
g++-3.4 -m32 -L/usr/lib32 -w -fPIC -shared -W -Wall -o nwnx_odbc.so NWNXmysql.o plugin-mysql.o data.o dbmysql.o -L/usr/lib/mysql -lmysqlclient -lz -DHAVE_CONFIG_H
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/3.4.6/../../../libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/3.4.6/../../../libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make[1]: *** [nwnx_odbc.so] Error 1
make[1]: Leaving directory `/home/games/nwn/linnwnx2/db'
make: *** [db] Error 2
Die Fehlermeldung verweist ja auf fehlende 32-bit mysqlclient-libraries.
Meine Frage ist nun, wie bzw. wo ich diese finden kann. Als deb-Pakete habe ich nichts dergleichen gefunden.
Selbst bauen? Wenn ja dann wie? Oder gibt es einen anderen Weg diesen Code zum compilieren zu bewegen? Ich gebe zu, mehr als ein Laie auf diesem Gebiet zu sein.
Über Hilfestellung hierzu würde ich mich freuen.
BTW: Noch eine kleine Anmerkung:
Nach installation der Pakete ia32-libs und ia32-libs.dev waren gut die hälfte der Links in /usr/lib32 kaputt, da sie auf emul/... und nicht /emul/... verwiesen. Ich habe das von Hand geradegegoben. Nichtdestotrotz scheint mir das ein major bug zu sein, und ich würde gerne wissen wo man soetwas reporten kann?
Mit freundlichen Grüßen
Markus