Toon posts:

Webalizer,make probleem: Undefined reference to

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer webalizer te installen. Heb al in de Makefile
LDFLAGS= -L/usr/lib verandert in LDFLAGS= -L/usr/local/lib
omdat hij anders met /usr/lib/libgd.so problemen heeft.
Maar als ik nu make run krijg ik dit (krijg ik ook als ik nog /usr/lib gebruik trouwens)

root@server1:/installs/webalizer-2.01-10# make
gcc -L/usr/local/lib -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpng -lz -lm
webalizer.o: In function `main':
webalizer.o(.text+0x9fa): undefined reference to `dns_resolver'
webalizer.o(.text+0xa7d): undefined reference to `open_cache'
webalizer.o(.text+0xa91): undefined reference to `dns_db'
webalizer.o(.text+0x1882): undefined reference to `dns_db'
webalizer.o(.text+0x18a7): undefined reference to `resolve_dns'
webalizer.o(.text+0x27c7): undefined reference to `dns_db'
webalizer.o(.text+0x27cf): undefined reference to `close_cache'
collect2: ld returned 1 exit status
make: *** [webalizer] Error 1

Verwijderd

probeer webalizer eens zonder dns-lookup te compilen. deze errors komen namelijk door de dns-loopup code. compilen met dns-lookup is vrij lastig, het is mij iig nog niet gelukt.

Verwijderd

Topicstarter
in de install file staat dat ze standaard uit staat, ik heb dan ook gewoon ./configure gedaan en zelfs
--disable-dns eraantoegevoegd.. toch geeft ie deze error :(

  • JMW761
  • Registratie: Oktober 2001
  • Laatst online: 15-08 21:14
distro=slackware??

Volgens mij zat er namelijk een bug (of feature, wat je wilt) in webalizer, waardoor ie niet compiled onder slackware.....

maar die zoeken we ff op
edit:

Webalizer Faq, kijk bij question 18

Maar goed, dat verklaard nog niet waarom je een fout krijgt, want je wilt zonder DNS-resolving werken

Verwijderd

Topicstarter
Kan er misschien ergens iets fout gaan met dat gedoe
van /usr/lib en /usr/local/lib?

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Op woensdag 12 juni 2002 20:18 schreef turbop het volgende:
root@server1:/installs/webalizer-2.01-10# make
gcc -L/usr/local/lib -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpng -lz -lm
webalizer.o: In function `main':
webalizer.o(.text+0x9fa): undefined reference to `dns_resolver'
<snip>
Zoek in de makefile die regel met -lgd -lpng etc en voeg daar -lresolv aan toe.

Verwijderd

Topicstarter
Ik zal ff alle gegevens posten (misschien dat iemand
ineens de fout ziet..)

als ik ./configure doe krijg ik:
loading cache ./config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking whether ln -s works... (cached) yes
checking for a BSD compatible install... (cached) /usr/bin/ginstall -c
checking how to run the C preprocessor... (cached) gcc -E
checking whether char is unsigned... (cached) no
checking for main in -l44bsd... (cached) no
checking for main in -lm... (cached) yes
checking for main in -lz... (cached) yes
checking for gzrewind in -lz... (cached) yes
checking for main in -lpng... (cached) yes
checking for gdImagePng in -lgd... (cached) no
checking for libgd.a... (cached) /usr/lib
checking for gd.h... (cached) /usr/include
checking for getopt.h... (cached) yes
checking for math.h... (cached) yes
checking default config dir... (cached) /etc
checking for language file... (cached) yes - english
creating ./config.status
creating Makefile
linking ./lang/webalizer_lang.english to webalizer_lang.h

--------------------------
heb nu in de Makefile:

prefix = /usr/local
exec_prefix = ${prefix}

BINDIR = ${exec_prefix}/bin
MANDIR = ${prefix}/man/man1
ETCDIR = /etc
CC = gcc
CFLAGS = -Wall -O2
LIBS = -lgd -lpng -lz -lm -lresolv
DEFS = -DETCDIR=\"/etc\" -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1
LDFLAGS= -L/usr/local/lib
INSTALL= /usr/bin/ginstall -c
INSTALL_PROGRAM=${INSTALL}
INSTALL_DATA=${INSTALL} -m 644

# where are the GD header files?
GDLIB=/usr/local/include
etc...

en nog steeds:

gcc -L/usr/local/lib -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpng -lz -lm -lresolv
webalizer.o: In function `main':
webalizer.o(.text+0x9fa): undefined reference to `dns_resolver'
<cut>

Verwijderd

wis eens de 'oude' configfiles en probeer nog eens te compilen. het lijkt erop dat webalizer toch die dns-resolv wil meecompilen.

dus
code:
1
2
make clean
rm -v config.cache config.log

en dan normaal compilen

Verwijderd

Topicstarter
en dat was het dus :)
Weer wat geleerd!
Bedankt voor alle snelle replies!
Pagina: 1