Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : cannot find entry symbol



fsd
12-04-2003, 19:49
Hi!

Beim compilieren (linken) vonm Programmen auf meinem Server bekomme ich die Meldung:
/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 08048de0

Wenn ich dann versuche, die Programme auszuführen, bekomme ich:
Illegal instruction

Wenn ich "file" auf die compilierte Datei ausführe, kommt das:
root@server:/mnt/nfs_1/bookstore> file bookstore
bookstore: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped

Was soll das? Wie kann ich das abstellen? Ich weiß nicht, warum das auf einmal so ist.

MFG fsd.

tkortkamp
12-04-2003, 20:51
Hi!

Mit welchen Befehlen kompilierst/linkst du dein Programm?

Der Fehler kann z.B. auftreten wenn du gcc das Flag -nostdlib (sprich: nicht gegen die glibc linkst) übergibst, weil dann die Datei /usr/lib/crt1.o nicht mitgelinkt wird.
Das Symbol _start ist in /usr/lib/crt1.o definiert, existiert die Datei?

c ya,
Tobias

fsd
12-04-2003, 20:56
Das ist bei jedem Programm so. Egal welches.
Nicht nur meine eigenen.

MFG fsd.

fsd
12-04-2003, 21:00
die datei existiert

tkortkamp
12-04-2003, 21:09
Hi!

Hast du kürzlich deine GCC oder die Glibc geupdatet?

c ya,
Tobias

fsd
12-04-2003, 21:19
nein. :cool:

MFG fsd.

fsd
12-04-2003, 21:24
bua, ich glaube ich weiß, was ich gemacht hab. :)
Ich hatte (versehentlich) alle Dateien in /usr/lib gestript. Jetzt sind die crt* schrott.
In welchem Paket sind die drin? Ich hab binutils und gcc neuinstalliert, aber die crt* wurden nicht erneuert.

MFG fsd.

tkortkamp
12-04-2003, 21:30
Original geschrieben von fsd
bua, ich glaube ich weiß, was ich gemacht hab. :)
Ich hatte (versehentlich) alle Dateien in /usr/lib gestript. Jetzt sind die crt* schrott.
In welchem Paket sind die drin? Ich hab binutils und gcc neuinstalliert, aber die crt* wurden nicht erneuert.

MFG fsd.
:p
Die crt*-Dateien sind Teil der C-Runtime, also der glibc.

c ya,
Tobias

fsd
12-04-2003, 21:48
danke. Jetzt funktionierts wieder. :)

MFG fsd.