relocation error:

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
terrae
Interessierter
Interessierter
Beiträge: 71
Registriert: Samstag 17. August 2002, 09:16

relocation error:

Beitrag von terrae »

Hi,

hab folgendes Problem: hab ein kleines Prog geschgrieben und wenn ich das in meiner Yadd starte, funktioniert alles wunderbar. Starte ich das proggi im aktuellen AlexW Image, kommt folgende Fehlermeldung:

Code: Alles auswählen

/tmp > ./ievent: relocation error: ./ievent: symbol htons, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
Der findet wohl das htons symbol in der glibc nicht. Dass muss aber drinn sein, denn andere Progs nutzen dass ja auch (z.b. streampes, tuxmail,...).

Hab ich da beim linken misst gebaut. Wenn ja, wie muss ich das richtig machen ? Hab leider von Linux nicht allzu viel Plan.
Ich hab schon probiert auf die kleinere glibc aus dem Image zu linken, aber da meckert er auch rum (gleicher Fehler).

Hat jemand nen Tipp, ich wäre sehr dankbar.

cu
terrae
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

hm

Code: Alles auswählen

# if __BYTE_ORDER == __BIG_ENDIAN
/* The host byte order is the same as network byte order,
   so these functions are all just identity.  */
# define ntohl(x)       (x)
# define ntohs(x)       (x)
# define htonl(x)       (x)
# define htons(x)       (x)
auf big endian rechnern braucht man htons nicht, d.h. es wird nirgends benutzt und deshalb wird das symbol evtl. (falls ueberhaupt jemals vorhanden?) von mklibs script (zurecht) weggeworfen.

hast du evtl. #include <netinet/in.h> vergessen?
terrae
Interessierter
Interessierter
Beiträge: 71
Registriert: Samstag 17. August 2002, 09:16

Beitrag von terrae »

hi obi, dank Dir.

Hab htons() rausgenommen, jetzt gehts. :D

#include <netinet/in.h> hatte ich drinn. Liegt vieleicht an meinem zusammengschusterten Makefile, dass htons() nicht erstezt wird.

cu