Page MenuHomeFreeBSD

Fix build issue when the LTO option is enabled [1], do not register ${PREFIX}/lib/R/lib with ldconfig [2], and fix typo.
ClosedPublic

Authored by jrm on Nov 27 2016, 3:47 AM.

Details

Summary

Fix build issue when the LTO option is enabled [1], do not register
${PREFIX}/lib/R/lib with ldconfig [2], and fix typo.

GCC 4.9 now generates slim object files which only contain intermediate
language representation for LTO. This means, either -ffat-lto-objects must
be used to create files which also contain object code or gcc-ar and
gcc-ranlib can be used to create static libraries suitable for LTO
processing. This patch switches to gcc-ar and gcc-ranlib.

The libraries under ${PREFIX}/lib/R/lib are not intended (by upstream) to
be registered with ldconfig, but are opened by dlopen(3). This means pkg
will not register shared library dependencies, so we will have to adjust
and bump ports as necessary. When necessary, unfortunately, is unclear
based on how things work upstream.

Fix typo: OPENMP_USE= should have been OPENMP_USES=compiler:openmp.

Bump PORTREVISION.

[1]: PR 214785 submitted by taozhenext@gmail.com
[2]: PR 214666 submitted by dbn

Test Plan

portlint -AC: OK
testport: OK (poudriere: 9.3-RELEASE-p48, i386, default options, LTO)
testport: OK (poudriere: 9.3-RELEASE-p48, amd64, default options, LTO)
testport: OK (poudriere: 10.3-RELEASE-p10, i386, default options, LTO)
testport: OK (poudriere: 10.3-RELEASE-p10, amd64, default options, LTO)
testport: OK (poudriere: 11.0-RELEASE-p1, i386, default options, LTO)
testport: OK (poudriere: 11.0-RELEASE-p1, amd64, default options, LTO)

All ports that have USES=cran:compiles and math/rkward-kde4 build
successfully after this change. Run time tests were also successful.
Minor changes are required for science/afni (Depends on D8649).

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jrm updated this revision to Diff 22535.Nov 27 2016, 3:47 AM
jrm retitled this revision from to Fix build issue when the LTO option is enabled [1], do not register ${PREFIX}/lib/R/lib with ldconfig [2], and fix typo..
jrm updated this object.
jrm edited the test plan for this revision. (Show Details)
jrm added reviewers: swills, AMDmi3.
jrm added a subscriber: dbn.
jrm added a comment.Nov 27 2016, 3:52 PM

I have subscribed those who maintain ports that may be affected by the shared library changes. I do not foresee issues, but please speak up if that is not the case.

pfg removed a subscriber: pfg.Nov 27 2016, 10:06 PM
swills accepted this revision.Nov 29 2016, 9:13 PM
swills edited edge metadata.

Approved

This revision is now accepted and ready to land.Nov 29 2016, 9:13 PM
This revision was automatically updated to reflect the committed changes.