Software > Programmieren, Kompilieren
Undefiniertes Symbol ?
tassilo:
moin
kan mir hier jemand sagen wie ich hier weitermachen kann ? wollte nur etwas compilieren. so eine meldung hatte ich ja noch nie.
[tassilo@testzone:~/work/thales-1.0] $make
Making all in src
make[1]: Entering directory `/export/home/tassilo/work/thales-1.0/src'
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c main.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c log.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c conf.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c compat.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c misc.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c send.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c sockutil.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c messages.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c process.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c memory.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c db.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c actions.c
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -c hashlist.c
gcc -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -o thales main.o log.o conf.o compat.o misc.o send.o sockutil.o messages.o process.o memory.o db.o actions.o hashlist.o -lmysqlclient -lm -lz
Undefiniertes erstmals referenziert
Symbol in Datei
bind sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
gethostbyname sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libnsl.so.1)
socket sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
connect sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
shutdown sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
ld: Schwerer Fehler: Symbolreferenzierungsfehler. Keine Ausgabe in thales geschrieben
collect2: ld returned 1 exit status
make[1]: *** [thales] Fehler 1
make[1]: Leaving directory `/export/home/tassilo/work/thales-1.0/src'
make: *** [all-recursive] Fehler 1
"bind" fehlt ? bind wie der dns server ? muss ich da nun extra bind installieren oder ist das was anderes ?
grüße
tassilo
signal_15:
boah ey, muss das denn deutsch sein!? google bringt gerade mal 19 seiten.
ich glaube nicht, dass mit bind der 'isc bind' gemeint ist.
hast du's schon mal mit dem sun studio compiler versucht?
ct,
tassilo:
Hallo
danke für die schnelle antwort.
was meist du mit "muss das denn deutsch sein!?" ?
und sun studio : leider nein. ich überleg immer noch wie ich am besten das auf den rechner bekomm (rechner hat keine tastatur, monitor und steht ca 800km weit weg von hier)
grüße
tassilo
erisch:
--- Zitat von: tassilo am 30. September 2008, 16:52:53 ---[...]
so eine meldung hatte ich ja noch nie.
[...]
--- Ende Zitat ---
dann scheinst du ja noch nicht gerade oft was kompiliert zu haben ;)
--- Zitat von: tassilo am 30. September 2008, 16:52:53 ---"bind" fehlt ? bind wie der dns server ? muss ich da nun extra bind installieren oder ist das was anderes ?
--- Ende Zitat ---
Ganz bestimmt nicht. Bind heisst auf Englisch nichts anderes als (an/ver)binden und bezieht sich auf Netzwerksockets. Die Loesung fuer dein Problem steht uebrigens schon in der Meldung - du musst nur libsocket und libnsl mit einbinden. Also einfach "-lnsl -lsocket" zu den LDFLAGS hinzufuegen, dann sollte es gehen.
Mfg. Erisch
PS: Mit englischen Fehlermeldungen haette dir Google zu diesem Problem sicher tausend Seiten angeboten ;)
tassilo:
hallo
[tassilo@testzone:~/work/thales-1.0] $echo $LDFLAGS
-L/usr/local/lib -L/opt/csw/mysql5/lib/mysql -lnsl -lsocket
[tassilo@testzone:~/work/thales-1.0] $make
Making all in src
make[1]: Entering directory `/export/home/tassilo/work/thales-1.0/src'
gcc -g -O2 -I/opt/csw/mysql5/include/mysql -Wall -o thales main.o log.o conf.o compat.o misc.o send.o sockutil.o messages.o process.o memory.o db.o actions.o hashlist.o -lmysqlclient -lm -lz
Undefiniertes erstmals referenziert
Symbol in Datei
bind sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
gethostbyname sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libnsl.so.1)
socket sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
connect sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
shutdown sockutil.o (Symbol gehört zu impliziter Abhängigkeit /usr/lib/libsocket.so.1)
ld: Schwerer Fehler: Symbolreferenzierungsfehler. Keine Ausgabe in thales geschrieben
collect2: ld returned 1 exit status
make[1]: *** [thales] Fehler 1
make[1]: Leaving directory `/export/home/tassilo/work/thales-1.0/src'
make: *** [all-recursive] Fehler 1
scheint nicht viel geholfen zu haben.
ich glaub da muss ich wirklich erst mal etwas schlaumachen.
und nein compiliert unter solaris hab ich nicht of. und wenn dann kahm immer sowas dabei heraus.
das normale "configure; make && make config" funktionierte meistens auf meiner debian box. aber ich weis das hier ist kein debian und alles ist irgendwie anders. ich hoffe nur das ich soviel freizeit hab das ich das irgendwann nur ansatzweise verstehe :)
grüße
tassilo
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln