Page MenuHomeFreeBSD

Unbreak deskutils/gnote build on FreeBSD 8.4
ClosedPublic

Authored by truckman on Apr 10 2015, 11:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 14, 12:06 PM
Unknown Object (File)
Thu, Oct 31, 9:56 PM
Unknown Object (File)
Sat, Oct 26, 5:22 AM
Unknown Object (File)
Fri, Oct 25, 9:08 AM
Unknown Object (File)
Oct 1 2024, 9:17 AM
Unknown Object (File)
Sep 30 2024, 1:43 PM
Unknown Object (File)
Sep 28 2024, 4:11 AM
Unknown Object (File)
Sep 23 2024, 4:41 AM
Subscribers

Details

Summary

configure fails to find proper link command for Boost
unit_test_framework. See
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195597.

The problem is that configure first tries to link this library

	 statically, and when that fails, it "forgets" to try linking it

dynamically. The reason is that it has a bunch of nested loops
to try multiple variations on the library name and keeps track
of which library names it has tried so that it doesn't retry the
same library name. The problem is that one of the loop variables
also governs whether it should try static or dynamic liking,
and if static linking fails, the library name gets added to the
exclusion list, which prevents it from trying dynamic linking.

This change adds the value of this loop variable ($boost_rtopt_) to
disambiguate the two cases so that linking both ways is tried.

Also, the location where $boost_failed_libs is set is incorrect.
It needs to be moved out one loop nesting level to prevent the
same library name value from being added to the list multiple times.

Test Plan

Build on FreeBSD 8.4, 9.3, 10.1, and 11.0, both amd64 and i386

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

truckman retitled this revision from to Unbreak deskutils/gnote build on FreeBSD 8.4.
truckman updated this object.
truckman edited the test plan for this revision. (Show Details)
truckman added reviewers: mat, koobs.
kwm added a reviewer: kwm.
This revision is now accepted and ready to land.Apr 11 2015, 7:52 AM
deskutils/gnote/Makefile
39–49

Looks good, while there, you should also remove the .include, and the .if ${PORT_OPTIONS:MDOCS}, to always install the files.

deskutils/gnote/Makefile
39–49

portlint whines if I do that:

WARN: Makefile: use ".if ${PORT_OPTIONS:MDOCS}" to wrap installation of files into /usr/local/share/doc.

but the Porters Handbook says it's OK to sip the .if in this case.

truckman edited edge metadata.
truckman edited the test plan for this revision. (Show Details)

Get rid of .include <bsd.port.options.mk> and .if ${PORT_OPTIONS:MDOCS}
as suggested by mat@. Portlint whines about it but the Porters Handbook
says it is OK because the doc files are few and small.

Unmute ${INSTALL_DATA} as suggested by portlint.

This revision now requires review to proceed.Apr 11 2015, 6:04 PM
kwm edited edge metadata.
This revision is now accepted and ready to land.Apr 11 2015, 6:09 PM
mat edited edge metadata.
In D2279#9, @truckman wrote:

Get rid of .include <bsd.port.options.mk> and .if ${PORT_OPTIONS:MDOCS}
as suggested by mat@. Portlint whines about it but the Porters Handbook
says it is OK because the doc files are few and small.

Unmute ${INSTALL_DATA} as suggested by portlint.

Yeah, don't listen too much about what portlint says, it's a bit stuck in a pre-pkg era for so many things.

truckman updated this revision to Diff 4797.

Closed by commit rP383837 (authored by @truckman).