crtbegin

23/02/2009 - 20:11 von Jan Bruns | Report spam
Hallo.

Mein Freepascal-compiler (bzw. der von diesem aufgerufene LD)
beschwert sich zuweilen über eine fehlende bzw. inkompatible
"crtbegin.o".

Google förderte für mich nichts verwertbares zutage.
Ich nehme an, daß der Compiler diese lib nur zwecks
Kompatiblitàt mit vom gcc erzeugten libs referenziert
(wenn man keine solchen einbindet, dann klappt anscheinend
auch das Linken).

Der Compiler wünscht, soweit ich das überblicke, 32-Bit Code
zu produzieren. Das System ist allerdings amd64 (mit debian5
und bereits diversen 32-Bit Kompatiblitàtspaketen installiert).

Wie komme ich also an kompatible "crtbegin"-Dateien (und
was auch immer noch dazugehört)? Und wie binde ich die so ins
System ein, daß LD die auch von sich aus findet?

Gruss

Jan Bruns


PS: Hier die genaue Fehlermeldung:

/usr/bin/ld: skipping incompatible \
/usr/lib/gcc/x86_64-linux-gnu/4.1.3/crtbegin.o when searching for \
/usr/lib/gcc/x86_64-linux-gnu/4.1.3/crtbegin.o
/usr/bin/ld: cannot find /usr/lib/gcc/x86_64-linux-gnu/4.1.3/crtbegin.o
 

Lesen sie die antworten

#1 Jan Bruns
23/02/2009 - 22:18 | Warnen spam
Mon, 23 Feb 2009 19:11:07 +0000 schrieb Jan Bruns:
Mein Freepascal-compiler (bzw. der von diesem aufgerufene LD) beschwert
sich zuweilen über eine fehlende bzw. inkompatible "crtbegin.o".

Google förderte für mich nichts verwertbares zutage. Ich nehme an, daß
der Compiler diese lib nur zwecks Kompatiblitàt mit vom gcc erzeugten
libs referenziert (wenn man keine solchen einbindet, dann klappt
anscheinend auch das Linken).

Der Compiler wünscht, soweit ich das überblicke, 32-Bit Code zu
produzieren. Das System ist allerdings amd64 (mit debian5 und bereits
diversen 32-Bit Kompatiblitàtspaketen installiert).

Wie komme ich also an kompatible "crtbegin"-Dateien (und was auch immer
noch dazugehört)? Und wie binde ich die so ins System ein, daß LD die
auch von sich aus findet?



Ok, dieses Problem bereits gelöst.
Für debian gibt's "crtbegin.o 32 Bit" in einigen Paketen
"gcc-version-multilib", und viele weitere 32-Bit Libs waren
schon direkt in /emul.

Gruss

Jan Bruns

Ähnliche fragen