On Wed, 2003-07-09 at 16:32, Heiko Romahn wrote:
Hallo Liste.
Ich weiss, dass ich hier ziemlich OT bin. Aber die Verzweifelung treibt mich noch in den Wahnsinn. Ich versuche auf einer HPUX 11i DBD::Informix zu uebersetzen. Leider knallt es schon beim linken des Testprogramms.
Kenne weder Informix noch habe ich Zugang zu HPUX noch zu PA-Systemen ...
/usr/ccs/bin/ld: esqltest.o: Mismatched ABI. 64-bit PA object file found in 32-bit link. ABI .. Application Binary Interface
Die Fehlermeldung deutet darauf hin, dass versucht wird zwei Objekte mit inkompatibler ABI zu linken ("binär inkompatible Objektformate"). Das wiederum deutet darauf hin, dass * was mit deiner Compilerinstallation nicht stimmt (64bit-Compiler, 32bit-Linker oder 32bit-Libs) * dem Compiler bzw. Linker falsche Optionen mitgegeben werden. In solchen Fällen oft sind oft spezielle Pfade (z.B. -L/lib/lib64 o.ä.) oder spezielle Architektur-Optionen nötig (bei gcc meist -m... oder -mcpu=...) * eine Quelldatei hart-codierte ABI-Annahmen beinhaltet, die den Linker scheitern lassen. * dein Compiler und deine (vermutlich closed-source Libs) unterschiedliche ABIs verwenden. Abhilfe: Prüfen ob der Compiler zur den Libs ABI-kompatiblen Code erzeugt, Compiler-Optionen überprüfen, im Extramfall ggf. Compiler wechseln! Ralf