Bug 106790 - [patch] sysutils/cfengine conflicts with devel/publib and doesn't build when Berkeley DB > 4.1 is installed
Summary: [patch] sysutils/cfengine conflicts with devel/publib and doesn't build when ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Sergei Kolobov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-15 21:00 UTC by Nick Barkas
Modified: 2007-01-24 22:50 UTC (History)
1 user (show)

See Also:


Attachments
cfengine.patch (2.96 KB, patch)
2006-12-15 21:00 UTC, Nick Barkas
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Barkas 2006-12-15 21:00:21 UTC
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.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2006-12-15 21:01:20 UTC
Responsible Changed
From-To: freebsd-ports-bugs->sergei

Over to maintainer
Comment 2 Pav Lucistnik freebsd_committer freebsd_triage 2007-01-24 20:21:48 UTC
State Changed
From-To: open->feedback

Why is BDB patch needed? I can successfully configure and build cfengine 
without it against db42, just tried.
Comment 3 Nick Barkas 2007-01-24 21:09:48 UTC
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
Comment 4 Pav Lucistnik freebsd_committer freebsd_triage 2007-01-24 22:36:44 UTC
> 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!
Comment 5 Pav Lucistnik freebsd_committer freebsd_triage 2007-01-24 22:47:41 UTC
State Changed
From-To: feedback->closed

Committed, thanks!
Comment 6 dfilter service freebsd_committer freebsd_triage 2007-01-24 22:47:41 UTC
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"