Hallo! Ich habe folgendes Problem. Beim kompilieren von Priogrammen kommt bei mir ab und zu die Meldung /usr/i486-linux/bin/ld :cannot find ...(z.B crtbegin.o) no such file or directory Wo kann ich dem Linker sagen, wo er die Datei findet? Vielen Dank im voraus! Ciao! Steff --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Fri Oct 22 1999, Stephan Schwarz wrote:
/usr/i486-linux/bin/ld :cannot find ...(z.B crtbegin.o) no such file or directory
Wo kann ich dem Linker sagen, wo er die Datei findet?
Wenn nach einem "ldconfig -v" der Fehler immer noch besteht, dann solltest Du nicht ueberlegen wie man es dem Linker klarmacht, wo die Datei liegt, sondern das Paket installieren, damit die Datei auch vorhanden ist :) In Deinem speziellen Fall gehoert die Datei "crtbegin" zum GCC, ueblicherweise liegt sie in dessen Verzeichnis. hd@elfie:~ > ls -l /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.1/crt* -rw-r--r-- 1 root root 1892 Oct 2 21:01 crtbegin.o -rw-r--r-- 1 root root 2044 Oct 2 21:01 crtbeginS.o -rw-r--r-- 1 root root 1408 Oct 2 21:01 crtend.o -rw-r--r-- 1 root root 1616 Oct 2 21:01 crtendS.o Vermutlich hast Du eine versaute Installation von GCC rumwerkeln .... ~ hd --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, According to Stephan Schwarz:
Beim kompilieren von Priogrammen kommt bei mir ab und zu die Meldung /usr/i486-linux/bin/ld :cannot find ...(z.B crtbegin.o) no such file or directory Wo kann ich dem Linker sagen, wo er die Datei findet?
Der Standard-Linker liegt eigentlich in /usr/bin/, in /usr/i486-linux/bin/ ist normalerweise nur ein symbolischer Link. Vielleicht solltest Du erst einmal checken, warum nicht auf das Standardverzeichnis /usr/bin zugegriffen wird. Wenn der Linker Objekt-Dateien nicht findet, dann stimmt der Pfad zu der Datei nicht oder die Datei wurde nicht aus dem Quellcode erstellt. Normalerweise wird der Linker nicht direkt durch den Anwender aufgerufen sondern ueber das entsprechende Rahmenprogramm (z.B. gcc, g++, g77 oder f90). Diese Rahmenprogramme rufen (ohne dass der Anwender es explizit merkt) u.U. einen Preprocessor, einen Compiler, einen Optimierer und einen Linker auf. Schau mal auf die Manual-Seiten der entsprechenden Rahmenprogramme (z.B. man gcc), dort steht auch explizit, wie man Optionen an den Linker uebergeben kann. Ein Linker-Aufruf koennte wie folgt aussehen: gcc -o myprogram -L.. -lmylib fileA.o ./dir/fileB.o ../dir2/*.o Gruss Thomson -- Thomas Hertweck Geophysikalisches Institut, Universitaet (TH) Karlsruhe Email: ubtj@rz.uni-karlsruhe.de Registered Linux user number 127619 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (3)
-
hd@elfie.rhein-neckar.de
-
StephanSchwarz@t-online.de
-
ubtj@rz.uni-karlsruhe.de