make und linken..
-
Original erstellt von LucKsuS:
**mh..
hab mir mit qmake ein Makefile machen lassen.. so funktionierts auch..aber noch eine andere sache, die auch zu der überschrift passt..
kann 2 programme (xine-gui und ein ftp-client) nicht installieren:
'undefined reference to __ctype_b'
bzw. __ctype_tolower und toupper..**
Da Frag ich lieber erst mal was für einen Kompiler du verwendest dass kann nämlich auch ein bug im gcc sein
**
sind das fehler im Makefile? wenn mir ne bibliothek fehlen würde, müsste doch
die rede von 'no such file or directory' sein...oder?
und tolower/toupper hört sich nach ner standard bibliothek an..**nein normalerweise deuten undefined reference auf fehlende Bibliotheken hin aber bei Linux muss man auch die Standardbiblitheken angeben. Es ist nicht so wie beim VC wo bestimmte Bibliotheken per dafault ausgewählt sind.
Joe
-
hab den gcc-3.2
wenn ich ein einfaches hello world programm mit#include <stdio.h>
damit kompiliere, gibts keine probleme..
bug?
-
mh, so langsam nervt das..
kann die tcsh wegen dem gleichen problem nicht installieren..
aber die brauch ich um glut zu installieren..also.. wo und wie kann ich denn die standardbibliotheken angeben,
wenn ich mit ./configure, make, make install
etwas installieren möchte?
-
Ich hab mich gestern nicht mit dem Problem befassen können aber aber so wie das klingt könnte deine libc nicht ganz aktuell sein, hast du den gcc-3.2 später draufgemacht ?
-
hab ein lfs linux und hab, wie es in der anleitung steht,
den gcc direkt nach glibc (2.2.5) installiert..da fällt mir grade ein, dass ich mal versucht hab, eine andere glibc version
drüber zu installieren..
konnte mein system danach nur retten indem ich die alten /lib und /usr/lib
von einer sicherungs cd, die vorher zum glück gebrannt hatte, drauf kopiert hab.
liegt das vielleicht daran?
kann/sollte ich meine 2.2.5 glibc version nochmal installieren?
-
Tja das klingt doch erst mal nach einem Anhaltspunkt, aller Wahrscheinlichkeit nach sind die Versionen doch nicht ganz kompatibel oder es sind Reste der alten Version übrig geblieben. Also ich würde es noch mal versuchen den gcc und die glibc neu draufzuziehen und dann sehen was er macht. Gerade diese beiden Komponenten sind mit einander so eng verzahnt das es sich dort meist die Katze in den Schwanz beißt.
-
so, hab ich gemacht..
glibc und gcc neu installiert.. ohne probleme..
aber das problem besteht nach wie vor...
und noch ärgerlicher: der gdb ist auch eins von den programmen,
die sich nicht installieren lassen..
-
So da bin ich erst mal mit meinem Latein am Ende. Du kannst ja mal die Ausgaben von
ldd /usr/bin/gcc objdump -t /usr/bin/gcc | grep __ctype_b objdump -t /lib/libc.so.6 | grep __ctype_b
überprüfen bzw. von den anderen Fehlermeldungen. Solte es hier Probleme geben liegts an der glib sonst tja ????
Joe
[ Dieser Beitrag wurde am 08.05.2003 um 10:04 Uhr von JoeIntel editiert. ]
-
mh, also objdump -t /lib/libc.so.6 .. zeigt mir jeweils drei einträge für __ctype_b usw..
beim gcc nicht..
ist das jetzt gut oder schlecht?seitdem ich glibc und gcc neu installiert hab, funktioniert der qt-designer, mit dem
ich gearbeitet hatte, nicht mehr.. das fenster schliesst sich sofort nachdem es sich
aufgebaut hat wieder..
dachte ich mir, installierst du auch qt nochmal.. aber das geht jetzt auch nicht mehr..
gleiches problem mit __ctype_b.. aber qt hatte ich ganz am anfang schonmal installiert...??
ohne probleme..ich denke, ich werd mir gleich debian installieren..
-
Eigentlich sollte der objdump beim gcc ungefähr so aussehen.
dhcp198:/home/falk/byzgl # objdump -t /usr/bin/gcc | grep __ctype_b 0805b128 g O .bss 00000004 __ctype_b@@GLIBC_2.0
Ich glaube das Problem liegt beim gcc der ist anscheinend nicht mit der aktuellen glib kompatibel. Damit kannst du natürlich nichts mehr linken und alle vorher gelinkten Dateien gehen natürlich auch nicht weil sie einen anderen Einstiegspunkt erwarten. Mhmm da wird dir wohl nix anders übrigbleiben als die Sache mit der glib und dem gcc noch mal zu probieren vielleicht hast du bei der ersten Installation was übersehen.
Auf jeden Fall kannst du die zwischenrein installierten Programme vergessen das ist fast sicher.
Joe