Mail Archives: cygwin/2005/04/14/01:22:29
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/
- Raw text -