This is the mail archive of the
mailing list for the Cygwin project.
Re: Installing Courier-Imap
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.
> However what I did notice is that makedatprog.c includes ../dbobj.h,
> this file defines (for example) dbobj_init as gdbmobj_init (which exists
> in ../gdbmobj/gdbmobj.h), however the error above complains about not
> finding _gdbmobj_init, which does not exist anywhere. Can anyone explain
> to me where the initial '_' comes from, and if that is the problem. I
> realise I am probably showing my ignorance of C programming here, but
> any kind of help would be greatly appreceated.
All of those gdbm_* functions are implemented in the files under
gdbmobj, which should produce libgdbmobj.a. If you look at the
configure.in for makedat, you see:
case "$db" in
...then in Makefile.ac you have:
makedatprog_LDADD=@dblibrary@ @LIBGDBM@ @LIBDB@
...all of which means that:
1. the make should build the stuff in gdbmobj dir (resulting in
libgdbmobj.a) before entering makedat;
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.
The initial _ is nothing to worry about, that happens to all C
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?
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html