On Fri, Aug 31, 2012 at 9:49 AM, Timo Sirainen <t...@iki.fi> wrote: > On 24.8.2012, at 16.42, Eric Sisolak wrote: > > > I had to modify the command to build the module, but was able to > > successfully build it: > > gcc -shared -fPIC -DHAVE_CONFIG_H -DUSERDB_VPOPMAIL -DPASSDB_VPOPMAIL > > -I../.. -I../lib -I/home/vpopmail/include -I/home/vpopmail/lib > > userdb-vpopmail.c passdb-vpopmail.c -o vpopmail.so > > -L/home/vpopmail/lib/libvpopmail.a > > -L means a path, pointing it to .a file doesn't do anything useful. By > giving the .a file directly probably also fails if libvpopmail.a hasn't > been built with -fPIC. > > > /usr/lib64/dovecot/auth/vpopmail.so: undefined symbol: vclose > > And that's the reason this fails, because libvpopmail isn't included in > vpopmail.so. > > Ah that was it, I was misunderstanding -l and -L. I got it to work with: gcc -shared -fPIC -DHAVE_CONFIG_H -DUSERDB_VPOPMAIL -DPASSDB_VPOPMAIL -I../.. -I../lib -I/home/vpopmail/include -L/home/vpopmail/lib userdb-vpopmail.c passdb-vpopmail.c -o vpopmail.so -lvpopmail
Thanks!