sysutils/cfengine fails to build on systems that have newer versions of Berkeley DB than 4.1 installed from ports. databases/db42, db43, and db44 all seem to install libraries as ${PREFIX}/lib/libdb-version.so without a lib/libdb.so symlink that is provided by BDB 4.1 (and probably earlier versions). Additionally, if devel/publib is installed, the linker will try to link against it rather than cfengine's included, and completely different, libpub.a. Fix: The following patch adds files/patch-configure to cause the configure script to set the appropriate -l options if the databases/db42, db43, or db44 ports are installed. It also changes linking options to explicitly link with libpub.a provided with cfengine, rather than the libpub.a which devel/publib may have installed in ${LOCALBASE}/lib. Also, this patch modifies files/patch-doc_Makefile.in so ${WRKSRC}/configure is not treated as a source for any documentation files. The cfengine tarball includes fully built documentation, and trying to rebuild it will fail on systems that don't have the appropriate TeX/texinfo tools installed (which this port does not build-depend on). An alternative fix would be to just add those tools to ${BUILD_DEPENDS}, but that isn't really necessary since there is no need to rebuild the documentation that is included with the cfengine source. How-To-Repeat: Install devel/publib, databases/db42, databases/db43, and/or databases/db44 and attempt to build sysutils/cfengine.
Responsible Changed From-To: freebsd-ports-bugs->sergei Over to maintainer
State Changed From-To: open->feedback Why is BDB patch needed? I can successfully configure and build cfengine without it against db42, just tried.
I just tried this again and found that cfengine would build with databases/db42 installed without my patch. However, if you have databases/db41 installed as well, it fails to compile. With the patch, cfengine builds when both db41 and db42 are installed. Did you have db42 only installed when doing your test? Nick
> I just tried this again and found that cfengine would build with > databases/db42 installed without my patch. However, if you have > databases/db41 installed as well, it fails to compile. With the > patch, cfengine builds when both db41 and db42 are installed. > > Did you have db42 only installed when doing your test? Yes. It fails when both db41 and db42 are present, indeed. -- Pav Lucistnik <pav@oook.cz> <pav@FreeBSD.org> Knight: We shall say Ny! again to you if you do not appease us. Arthur: All right. What do you want? Knight: We want... a shruberry!
State Changed From-To: feedback->closed Committed, thanks!
pav 2007-01-24 22:47:36 UTC FreeBSD ports repository Modified files: sysutils/cfengine Makefile sysutils/cfengine/files patch-doc_Makefile.in Added files: sysutils/cfengine/files patch-configure Log: - Patch to fix berkeley db detection in configure script. Fixes compilation when multiple db ports are installed - Patch to explicitly link with included libpub.a, instead of one in /usr/local - Patch to never rebuild documentation, the full copy is included PR: ports/106790 Submitted by: Nick Barkas <snb@threerings.net> Approved by: maintainer timeout (sergei; 1 month) Revision Changes Path 1.36 +1 -0 ports/sysutils/cfengine/Makefile 1.1 +20 -0 ports/sysutils/cfengine/files/patch-configure (new) 1.2 +29 -2 ports/sysutils/cfengine/files/patch-doc_Makefile.in _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"