| Summary: | net-mail/maildrop-1.5.2 compile error | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Nathan W. Labadie <ab0781> |
| Component: | New packages | Assignee: | Nick Hadaway <grandmasterlinux> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ab0781, mholzer, net-mail+disabled, tom.gl |
| Priority: | High | ||
| Version: | 1.4_rc2 | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Bug Depends on: | 30449 | ||
| Bug Blocks: | |||
|
Description
Nathan W. Labadie
2003-02-15 20:19:23 UTC
This problem only occurs with "ldap" USE keyword. I've solved it by adding "-lresolv" to the compilation options for the ldap related code. I've done it by modifying the ebuild, in src_compile():
51c51
< emake || die "compile problem"
---
> emake LIBLDAP='-lldap -llber -lresolv' || die "compile problem"
This works at least on two gentoo 1.2 boxes (default-1.0, gcc-2.95.3, glibc-2.2.5-r7).
is this still an issue? On a gcc-3 system I just did USE="ldap" and it emerged fine. hmm ok, I just tried this with gcc-2.95.3 as well again a successful emerge. Yes, it's still an issue here: ---> without -lresolv: [...] g++ -march=i686 -O3 -pipe -I./../rfc822 -I./../rfc2045 -I.. -I./.. -Wall -o maildrop deliver.o deliverdotlock.o dotlockmaildrop.o filelock.o filter.o formatmbox.o globaltimer.o lexer.o log.o maildir.o main.o message.o messageinfo.o pipefds.o re.o recipe.o recipenode.o recipeparse.o reeval.o rematch.o rematchmsg.o rematchstr.o search.o token.o varlist.o libmdcommon.a ../maildir/libmaildir.a ../rfc822/librfc822.a ../numlib/libnumlib.a ../liblock/liblock.a ../userdb/libuserdb.a ../bdbobj/libbdbobj.a -ldb -lldap -llber -lmysqlclient -lz /usr/lib/libldap.so: undefined reference to `__dn_expand' /usr/lib/libldap.so: undefined reference to `__res_query' collect2: ld returned 1 exit status make[2]: *** [maildrop] Error 1 make[2]: Leaving directory `/var/tmp/portage/maildrop-1.5.2/work/maildrop-1.5.2/maildrop' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/maildrop-1.5.2/work/maildrop-1.5.2/maildrop' make: *** [all-recursive] Error 1 ---> with -lrevolv: [...] g++ -march=i686 -O3 -pipe -I./../rfc822 -I./../rfc2045 -I.. -I./.. -Wall -o maildrop deliver.o deliverdotlock.o dotlockmaildrop.o filelock.o filter.o formatmbox.o globaltimer.o lexer.o log.o maildir.o main.o message.o messageinfo.o pipefds.o re.o recipe.o recipenode.o recipeparse.o reeval.o rematch.o rematchmsg.o rematchstr.o search.o token.o varlist.o libmdcommon.a ../maildir/libmaildir.a ../rfc822/librfc822.a ../numlib/libnumlib.a ../liblock/liblock.a ../userdb/libuserdb.a ../bdbobj/libbdbobj.a -ldb -lldap -llber -lresolv -lmysqlclient -lz Compiling reformail.C [...] ---- This was using a "Portage 2.0.48-r1 (default-1.0, gcc-2.95.3, glibc-2.2.5-r4,2.2.5-r8)" system. Maybe it's related to the ldap version? In default-1.0 profile, openldap-2.0.27 is masked, so I still use 2.0.25-r2... (and I can't really test 2.0.27 because it needs a readline update which would, I guess, break several things. Am I wrong?) maildrop-1.5.3 has been added to portage.
I have updated the ebuild with this stanza... I know it's not an elegant fix by any means... but at least it raises awareness for those users with an older profile+ldap...
emake || die "If you enabled java in USE and are running a \
1.0 profile box, edit ${P}.ebuild and uncomment the \
alternate emake line."
# alternate emake line for 1.0 profile boxes
# emake LIBLDAP='-lldap -llber -lresolv' || die "compile problem"
closing |