This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Installing Courier-Imap
Brian Dessent wrote:
Kees Vonk wrote:
/home/Kees/courier-imap-3.0.8/makedat/makedatprog.c:33: undefined
reference to `_gdbmobj_store'
Try adding --with-db=gdbm to your configure line.
Ok I tried this, but as I suspected no luck.
1. the make should build the stuff in gdbmobj dir (resulting in
libgdbmobj.a) before entering makedat;
No libgdbmobj.a in the gdbmobjdir, just libgdbmobj.la, libgdbmobjs.la
and libshgdbmobj.a
2. the link command for makedat should have libgdbmobj.a on its command
line so that it can find the functions that are showing up as missing.
I am not sure it does this, here is the gdbmobj and makedat parts of the
make output (I am sorry about the length of it and hope it is helpful):
... [ skip lot of stuff ] ...
Making all in gdbmobj
make[2]: Entering directory `/home/Kees/courier-authlib-0.55/gdbmobj'
make all-am
make[3]: Entering directory `/home/Kees/courier-authlib-0.55/gdbmobj'
if /bin/bash ./libtool --mode=compile --tag=CC gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj.lo -MD -MP -MF ".deps/gdbmobj.Tpo" -c -o gdbmobj.lo gdbmobj.c; \
then mv -f ".deps/gdbmobj.Tpo" ".deps/gdbmobj.Plo"; else rm -f ".deps/gdbmobj.Tpo"; exit 1; fi
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj.lo -MD -MP -MF .deps/gdbmobj.Tpo -c gdbmobj.c -DPIC -o .libs/gdbmobj.o
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj.lo -MD -MP -MF .deps/gdbmobj.Tpo -c gdbmobj.c -o gdbmobj.o >/dev/null 2>&1
if /bin/bash ./libtool --mode=compile --tag=CC gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj2.lo -MD -MP -MF ".deps/gdbmobj2.Tpo" -c -o gdbmobj2.lo gdbmobj2.c; \
then mv -f ".deps/gdbmobj2.Tpo" ".deps/gdbmobj2.Plo"; else rm -f ".deps/gdbmobj2.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj2.lo -MD -MP -MF .deps/gdbmobj2.Tpo -c gdbmobj2.c -DPIC -o .libs/gdbmobj2.o
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj2.lo -MD -MP -MF .deps/gdbmobj2.Tpo -c gdbmobj2.c -o gdbmobj2.o >/dev/null 2>&1
if /bin/bash ./libtool --mode=compile --tag=CC gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj3.lo -MD -MP -MF ".deps/gdbmobj3.Tpo" -c -o gdbmobj3.lo gdbmobj3.c; \
then mv -f ".deps/gdbmobj3.Tpo" ".deps/gdbmobj3.Plo"; else rm -f ".deps/gdbmobj3.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj3.lo -MD -MP -MF .deps/gdbmobj3.Tpo -c gdbmobj3.c -DPIC -o .libs/gdbmobj3.o
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT gdbmobj3.lo -MD -MP -MF .deps/gdbmobj3.Tpo -c gdbmobj3.c -o gdbmobj3.o >/dev/null 2>&1
/bin/bash ./libtool --mode=link --tag=CC gcc -g -O2 -o libgdbmobj.la -rpath /usr/local/lib gdbmobj.lo gdbmobj2.lo gdbmobj3.lo
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libgdbmobj.a gdbmobj.o gdbmobj2.o gdbmobj3.o
ranlib .libs/libgdbmobj.a
creating libgdbmobj.la
(cd .libs && rm -f libgdbmobj.la && ln -s ../libgdbmobj.la libgdbmobj.la)
/bin/bash ./libtool --mode=link --tag=CC gcc -g -O2 -o libgdbmobjs.la gdbmobj.lo gdbmobj2.lo gdbmobj3.lo
ar cru .libs/libgdbmobjs.a .libs/gdbmobj.o .libs/gdbmobj2.o .libs/gdbmobj3.o
ranlib .libs/libgdbmobjs.a
creating libgdbmobjs.la
(cd .libs && rm -f libgdbmobjs.la && ln -s ../libgdbmobjs.la libgdbmobjs.la)
if g++ -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT testgdbm.o -MD -MP -MF ".deps/testgdbm.Tpo" -c -o testgdbm.o testgdbm.C; \
then mv -f ".deps/testgdbm.Tpo" ".deps/testgdbm.Po"; else rm -f ".deps/testgdbm.Tpo"; exit 1; fi
/bin/bash ./libtool --mode=link --tag=CXX g++ -g -O2 -o testgdbm.exe testgdbm.o libgdbmobj.la -lgdbm
g++ -g -O2 -o testgdbm.exe testgdbm.o ./.libs/libgdbmobj.a /usr/lib/libgdbm.dll.a
rm -f libshgdbmobj.a
cd .libs && ar rv ../libshgdbmobj.a gdbmobj.o gdbmobj2.o gdbmobj3.o
ar: creating ../libshgdbmobj.a
a - gdbmobj.o
a - gdbmobj2.o
a - gdbmobj3.o
make[3]: Leaving directory `/home/Kees/courier-authlib-0.55/gdbmobj'
make[2]: Leaving directory `/home/Kees/courier-authlib-0.55/gdbmobj'
... [ skip lots of stuff ] ...
Making all in makedat
make[2]: Entering directory `/home/Kees/courier-authlib-0.55/makedat'
make all-am
make[3]: Entering directory `/home/Kees/courier-authlib-0.55/makedat'
gcc -I./.. -I.. -Wall -g -O2 makedatprog.c -o makedatprog
makedatprog.c: In function `main':
makedatprog.c:113: warning: implicit declaration of function `unlink'
/cygdrive/c/DOCUME~1/Kees/LOCALS~1/Temp/ccml5O8a.o(.text+0x7d): In function `addgdbm':
/home/Kees/courier-authlib-0.55/makedat/makedatprog.c:33: undefined reference to `_gdbmobj_store'
/cygdrive/c/DOCUME~1/Kees/LOCALS~1/Temp/ccml5O8a.o(.text+0x1ec): In function `main':
/home/Kees/courier-authlib-0.55/makedat/makedatprog.c:102: undefined reference to `_gdbmobj_init'
/cygdrive/c/DOCUME~1/Kees/LOCALS~1/Temp/ccml5O8a.o(.text+0x207):/home/Kees/courier-authlib-0.55/makedat/makedatprog.c:104: undefined reference to `_gdbmobj_open'
/cygdrive/c/DOCUME~1/Kees/LOCALS~1/Temp/ccml5O8a.o(.text+0x223):/home/Kees/courier-authlib-0.55/makedat/makedatprog.c:117: undefined reference to `_gdbmobj_close'
/cygdrive/c/DOCUME~1/Kees/LOCALS~1/Temp/ccml5O8a.o(.text+0x273):/home/Kees/courier-authlib-0.55/makedat/makedatprog.c:112: undefined reference to `_gdbmobj_close'
collect2: ld returned 1 exit status
make[3]: *** [makedatprog] Error 1
make[3]: Leaving directory `/home/Kees/courier-authlib-0.55/makedat'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Kees/courier-authlib-0.55/makedat'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Kees/courier-authlib-0.55'
make: *** [all] Error 2
If you are going to figure this out you have to make sure that both 1
and 2 are happening.
You DO have the 'libgdbm-devel' package installed, right?
Yes I do, it is part of the base category and everything in there is
installed by default.
Thank you very much for your help and patience,
Kees
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/