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.
Tags
None
Referenced Files
F81604280: D8650.diff
Thu, Apr 18, 8:05 PM
Unknown Object (File)
Tue, Apr 16, 5:22 PM
Unknown Object (File)
Fri, Mar 29, 11:55 AM
Unknown Object (File)
Jan 14 2024, 11:28 AM
Unknown Object (File)
Dec 31 2023, 6:58 AM
Unknown Object (File)
Dec 30 2023, 9:29 AM
Unknown Object (File)
Dec 22 2023, 9:19 PM
Unknown Object (File)
Dec 7 2023, 5:16 PM

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
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 6073
Build 6337: arc lint + arc unit

Event Timeline

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.

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.

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.