Forums Neueste Beiträge
 

[FreeBSD] gcc295 g++ - geht das irgendwie ?

30/01/2008 - 21:22 von Christoph Weber-Fahr | Report spam
Hallo,

ich versuche grad, eine für gcc295 geschriebene source unter 6.2
zu kompilieren. (nein, portieren ist keine Option)

Ich habe mir dazu den gcc295-Port und die compat4x und compat5x
ports installiert.

Der copmpiler produziert auch ein object. Aber dann...

Irgendwas mach ich noch grundsàtzlich falch. Ich krieg beim
linken *Tonnen* von fehlermeldungen, darunter Knaller wie

/usr/lib/crt1.o(.text+0x51): In function `_start':
: undefined reference to `atexit'
/usr/lib/crt1.o(.text+0x61): In function `_start':
: undefined reference to `atexit'
/usr/lib/crt1.o(.text+0x7b): In function `_start':
: undefined reference to `exit'
/usr/lib/crt1.o(.text+0x8b): In function `_start':
: undefined reference to `_init_tls'
/var/tmp/ccs8lNbT.o(.text+0x2e): In function `operator==(CString const &, CString const &)':
: undefined reference to `strcmp'
/var/tmp/ccs8lNbT.o(.text+0x64): In function `operator==(CString const &, char const *)':
: undefined reference to `strcmp'
/var/tmp/ccs8lNbT.o(.text+0x98): In function `operator==(char const *, CString const &)':
: undefined reference to `strcmp'
/var/tmp/ccs8lNbT.o(.text+0xd1): In function `operator+(CString const &, CString const &)':
: undefined reference to `strlen'
/var/tmp/ccs8lNbT.o(.text+0xf7): In function `operator+(CString const &, CString const &)':
: undefined reference to `strlen'
/var/tmp/ccs8lNbT.o(.text+0x156): In function `operator+(CString const &, CString const &)':
: undefined reference to `strcpy'
/var/tmp/ccs8lNbT.o(.text+0x177): In function `operator+(CString const &, CString const &)':
: undefined reference to `strcpy'
/var/tmp/ccs8lNbT.o(.text+0x210): In function `vLog(char *,...)':
: undefined reference to `strlen'
/var/tmp/ccs8lNbT.o(.text+0x265): In function `vLog(char *,...)':
: undefined reference to `vsnprintf'

... insgesamt > 1000 solche Fehler.

Ich linke simpel mit

g++295 -pthread programm.o -lcompat -o programm

Offenbar findet er net eine einzige Library.

Die CC und CXX environment-Variablen sind passend gesetzt.

Sonst ist das System praktisch frisch installiert.

Kennt jemand die erforderliche heilige Anrufung ? Was muss
man bei Paketen wie gcc295 noch beachten ?

Gruß

Christoph Weber-Fahr
 

Lesen sie die antworten

#1 Martin Etteldorf
31/01/2008 - 00:18 | Warnen spam
Christoph Weber-Fahr wrote:
Hallo,

ich versuche grad, eine für gcc295 geschriebene source unter 6.2
zu kompilieren. (nein, portieren ist keine Option)

Ich habe mir dazu den gcc295-Port und die compat4x und compat5x
ports installiert.

Der copmpiler produziert auch ein object. Aber dann...

Irgendwas mach ich noch grundsàtzlich falch. Ich krieg beim
linken *Tonnen* von fehlermeldungen, darunter Knaller wie

/usr/lib/crt1.o(.text+0x51): In function `_start':
: undefined reference to `atexit'
[...]
... insgesamt > 1000 solche Fehler.

Ich linke simpel mit

g++295 -pthread programm.o -lcompat -o programm



Falsch.

Offenbar findet er net eine einzige Library.



Sicher? Ich sehe nicht, dass der Linker sich irgendwo beschwert,
er faende irgendwelche Libraries nicht.

Die CC und CXX environment-Variablen sind passend gesetzt.



Was sagen die LDFLAGS?

Sonst ist das System praktisch frisch installiert.

Kennt jemand die erforderliche heilige Anrufung ? Was muss
man bei Paketen wie gcc295 noch beachten ?



Gegen die korrekten Libraries linken. Schau Dich mal in
/usr/local/lib/compat um.



Martin
"For the Snark's a peculiar creature, that won't
Be caught in a commonplace way.
Do all that you know, and try all that you don't;
Not a chance must be wasted to-day!"

Ähnliche fragen