Re: Suse 9.0 gcc 3.3.1 mer kwürdiger Linker-Error

David Haller <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo,

Am Sat, 23 Jul 2005, adsci schrieb:
>ich bin gerade dabei einen dedizierten Server von OpenTTD (links dazu 
>unten) aufzusetzen.
>Ich versuche gerade den Server gegen den glibc-ersatz "dietlibc" 
>kompilieren.
>
>Meine Änderungen dazu im Makefile:
>
>CC_HOST:=gcc
>CFLAGS_HOST:=-s -O2 -fomit-frame-pointer
>CFLAGS:=-nostdlib -D_BSD_SOURCE -static -L/opt/diet/lib-i386/start.o 
                                         ^^ Was soll das? Und dann
                                         auch noch in den CFLAGS?
>-isystem /opt/diet/include -D__dietlibc__ -s -O2 -fomit-frame-pointer 
>-DWITH_REV -DUNIX -DWITH_ZLIB
>LDFLAGS:=/opt/diet/lib-i386/libc.a -lgcc /opt/diet/lib-i386/libc.a
>
>Dabei klappt auch die komplette Kompilierung.
>Doch beim Linkervorgang bekomme ich folgenden Fehler:
>
>===> Linking openttd
>network_data.o(.text+0x317): In function `NetworkSend_Packets':
>: undefined reference to `errno'
[..]
>linker zeile, die aus dem Makefile springt:
>
><code>
>gcc /opt/diet/lib-i386/libc.a -lgcc /opt/diet/lib-i386/libc.a
>ai.o ... unix.o [<- alle object-dateien des programms)
>-lz -L/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lpng12 
>-lz -lm -lpng12 -lz -lm -o openttd
></code>

Beim statisch linken kommt es auf die Reihenfolge an. Versuch mal die
libc.a hinten anzugeben:

gcc ai.o ... unix.o [<- alle object-dateien des programms)
-lz -L/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lpng12 
-lz /opt/diet/lib-i386/libm.a -lpng12 -lz  -lgcc /opt/diet/lib-i386/libc.a
/opt/diet/lib-i386/libm.a -o openttd

Auch die libm (-lm) solltest du durch die diet-Version ersetzen. 
Allerdings sind wohl die anderen libs (libz, libpng usw.) gegen die
glibc gelinkt, ob das ganze also geht und ob du nicht dennoch eine
Abhaengigkeit zur glibc bekommst...

-dnh

-- 
Man tut was man kann. Kann amn aber wirklich immer das was man tut?
                                                        [Woko° in dag°]

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfÃŒgbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.