gcc prob
Giorgos Keramidas
keramida at hades.hell.gr
Thu Sep 2 09:50:42 EEST 1999
On Thu, Sep 02, 1999 at 12:44:19AM +0300, Count Zero wrote:
| ksafnika kai xoris kanenan profanh logo den boro na kano compile kanena
| programma me kamia kyvernhsh. afta einai ta error msgs pou pairno an
| dokimaso na kano compile to int main(){}
Οκ, σειρά μου να ρωτήσω κάποια πραγματάκια γιατί αλλιώς δε μπορώ να ξέρω,
εκτός από το ότι κάτι πάει στραβά με την εγκατάσταση του gcc σου, τίποτα
περισσότερο:
* Ποια έκδοση του gcc έχεις;
[κάνε gcc -v και στείλε μας το output]
* Πως την εγκατέστησες (με rpm, με tgz όπως του slackware, με compile);
[για θυμίσου, για θυμίσου]
| /usr/lib/crti.o: In function `_init':
| /usr/lib/crti.o(.init+0x0): multiple definition of `_init'
| crt1.o(.init+0x0): first defined here
Από εδώ βλέπω πως το /usr/lib/crt1.o σου κάτι δεν έχει καλά, γιατί εμένα το
/usr/lib/ctri.o έχει το _init και το _fini σαν σύμβολα, ενώ αντίθετα το
/usr/lib/ctr1.o έχει μόνο undefined references σε αυτά τα δύο:
hades # nm /usr/lib/ctri.o | egrep -e '(_init|_fini)'
00000000 ? _fini
00000000 ? _init
hades # nm /usr/lib/ctr1.o | egrep -e '(_init|_fini)'
U _fini
U _init
| /usr/lib/crti.o: In function `_fini':
| /usr/lib/crti.o(.fini+0x0): multiple definition of `_fini'
| crt1.o(.fini+0x0): first defined here
Πάλι το ίδιο εδώ...
| /usr/lib/crti.o(.got.plt+0x0): multiple definition of
| `_GLOBAL_OFFSET_TABLE_'
| /tmp/ccJdWWwE.o: In function `main':
| /tmp/ccJdWWwE.o(.text+0x0): multiple definition of `main'
| crt1.o(.text+0x80): first defined here
Στο δικό μου /usr/lib/crt1.o πάλι δεν υπάρχει καμία main, μόνο ένα
unresolved reference.
hades # nm /usr/lib/ctr1.o | grep main
U main
| /usr/lib/crti.o(.dynamic+0x0): multiple definition of `_DYNAMIC'
Κάτι αντίστοιχο μυρίζομαι εδώ, αφού στο /usr/lib/crti.o που έχω εγώ, δεν
έχει κανένα άλλο σύμβολο εξόν από τα _init και _fini!
| /usr/i486-linux/bin/ld: warning: cannot find entry symbol _start;
| defaulting to 08048680
Αν δεν υπάρχει στο τελικό πρόγραμμα ένα σύμβολο που να λέγεται _start, το
οποίο συνήθως πια δεν το γράφει ο προγραμματιστής, αφού πρέπει να το έχουν
οι run-time βιβλιοθήκες της C, τότε ο linker γκαρίζει όπως παραπάνω.
Να προσπαθήσω να μαντέψω; Άλλαξες βιβλιοθήκη της C τώρα τελευταία;
--
Giorgos Keramidas, <keramida at ceid.upatras.gr>
Public PGP key at finger://keramida@diogenis.ceid.upatras.gr/
"Today is not yesterday's tomorrow, but tomorrow's yesterday."
--
====================================================================
Gia boithia (h na diagrafhte) e-mail sto majordomo at hellug.gr
Ta archives tis listas einai sto http://lists.hellug.gr/archives
prin steilete kapoia erothsh psakte mipos exei hdh apanththei.
Gia opoiodipote problima stilte e-mail ston owner-linux-greek-users at hellug.gr
====================================================================
More information about the Linux-greek-users
mailing list