Bug 257274 - www/firefox: Fails to link on i386 with LTO=ON on i386: ld: error: undefined hidden symbol: mozilla::ServoTraversalStatistics::sActive (firefox-90.0,2)
Summary: www/firefox: Fails to link on i386 with LTO=ON on i386: ld: error: undefined ...
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Some People
Assignee: freebsd-gecko (Nobody)
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2021-07-19 11:36 UTC by Dimitry Andric
Modified: 2023-05-01 04:09 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (gecko)
koobs: merge-quarterly?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2021-07-19 11:36:38 UTC
As in the subject, with firefox 90, building on i386 with recent -CURRENT and LTO enabled, errors out while linking libxul.so:

...
chmod +x libmozavcodec.so
strip  libmozavcodec.so
../../../config/nsinstall -R -m 644 'libmozavcodec.so' '../../../dist/bin'
gmake[4]: Leaving directory '/wrkdirs/share/dim/ports/www/firefox/work/.build/media/ffvpx/libavcodec'
ld: warning: undefined symbol: environ
>>> referenced by std.ded0i0pe-cgu.12
>>>               std-7a67fe162cbea472.std.ded0i0pe-cgu.12.rcgu.o:(_$LT$std..sys..unix..process..process_inner..$LT$impl$u20$std..sys..unix..process..process_common..Command$GT$..do_exec..Reset$u20$as$u20$core..ops..drop..Drop$GT$::drop::h65d9d963df9ffb00) in archive /wrkdirs/share/dim/ports/www/firefox/work/.build/i686-unknown-freebsd/release/libgkrust.a
>>> referenced by std.ded0i0pe-cgu.3
>>>               std-7a67fe162cbea472.std.ded0i0pe-cgu.3.rcgu.o:(std::env::vars_os::hee869aae8e444309) in archive /wrkdirs/share/dim/ports/www/firefox/work/.build/i686-unknown-freebsd/release/libgkrust.a
>>> referenced by std.ded0i0pe-cgu.6
>>>               std-7a67fe162cbea472.std.ded0i0pe-cgu.6.rcgu.o:(std::sys::unix::process::process_inner::_$LT$impl$u20$std..sys..unix..process..process_common..Command$GT$::spawn::hd5fbb5eedad9ba90) in archive /wrkdirs/share/dim/ports/www/firefox/work/.build/i686-unknown-freebsd/release/libgkrust.a
>>> referenced 2 more times

ld: error: undefined hidden symbol: mozilla::ServoTraversalStatistics::sActive
>>> referenced by geckoservo.b505lk5b-cgu.0
>>>               lto.tmp:(style::driver::traverse_dom::h677487bc5a4d3515)
>>> referenced by style.9xypcjio-cgu.0
>>>               lto.tmp:(style::driver::should_report_statistics::he4cbd63b2025df9b)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [/wrkdirs/share/dim/ports/www/firefox/work/firefox-90.0/config/rules.mk:545: libxul.so] Error 1

I think I've seen the "environ" error lots of times, but I forgot what the fix was. The mozilla::ServoTraversalStatistics::sActive is completely unknown to me, though.
Comment 1 Graham Perrin freebsd_committer freebsd_triage 2023-05-01 04:09:09 UTC
<https://lists.freebsd.org/archives/freebsd-gecko/2023-April/001429.html> identifies this bug report as one of seven that need special attention. 


(In reply to Dimitry Andric from comment #0)

> … building on i386 with recent -CURRENT and LTO enabled, …

<https://portsfallout.com/fallout?port=www%2Ffirefox%24&env=i386-default> there's enough i386 fallout in recent months for me to assume that reports such as this can't be progressed in the near future …