Created attachment 201357 [details] Poudriere build log file Poudriere build fails with this: /wrkdirs/usr/ports/www/firefox-esr/work/.build/_virtualenv/bin/python -m mozbuild.action.check_binary --target libxul.so TEST-UNEXPECTED-FAIL | check_textrel | libxul.so | We do not want text relocations in libraries and programs gmake[4]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/rules.mk:710: libxul.so] Error 1 gmake[4]: *** Deleting file 'libxul.so' gmake[4]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build/toolkit/library' gmake[3]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/recurse.mk:73: toolkit/library/target] Error 2 gmake[3]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build' gmake[2]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/recurse.mk:33: compile] Error 2 gmake[2]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build' gmake[1]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/rules.mk:442: all] Error 2 gmake[1]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped in /usr/ports/www/firefox-esr =>> Cleaning up wrkdir ===> Cleaning for firefox-esr-60.5.0,1 build of www/firefox-esr | firefox-esr-60.5.0,1 ended at Wed Jan 23 05:45:40 CET 2019 build time: 00:42:42 !!! build failure encountered !!! For complete build log see attachment.
Once again please use 'category/port: short summary' as the format for filling in the bug title, so that the Bugzilla auto-assigner can work. Everything else risks losing your bug submissions to the void if nobody is there to correct it manually.
Looks specific to 11.2 i386. I can't reproduce on 11.2 amd64 or 12.0 i386. As vanilla mozilla-esr60 builds fine on 11.2 i386 the cause is probably one of the patches or the port's build environment. 60.5 update had a few risky changes e.g., massive code churn from clang-format (including preparation) and check_textrel conversion from GNU Make to Python.
Confirmed by pkg-fallout@ on 11.2 i386: http://beefy10.nyi.freebsd.org/data/112i386-default/491078/logs/errors/firefox-esr-60.5.0,1.log http://beefy10.nyi.freebsd.org/data/112i386-default/491078/logs/errors/thunderbird-60.5.0.log
firefox-esr-60.5.0_1,1 fails exactly as before: TEST-UNEXPECTED-FAIL | check_textrel | libxul.so | We do not want text relocations in libraries and programs gmake[4]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/rules.mk:710: libxul.so] Error 1 gmake[4]: *** Deleting file 'libxul.so' gmake[4]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build/toolkit/library' gmake[3]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/recurse.mk:73: toolkit/library/target] Error 2 gmake[3]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build' gmake[2]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/recurse.mk:33: compile] Error 2 gmake[2]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build' gmake[1]: *** [/wrkdirs/usr/ports/www/firefox-esr/work/firefox-60.5.0/config/rules.mk:442: all] Error 2 gmake[1]: Leaving directory '/wrkdirs/usr/ports/www/firefox-esr/work/.build' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped in /usr/ports/www/firefox-esr =>> Cleaning up wrkdir ===> Cleaning for firefox-esr-60.5.0_1,1 build of www/firefox-esr | firefox-esr-60.5.0_1,1 ended at Sat Jan 26 13:35:34 UTC 2019 build time: 00:43:02 !!! build failure encountered !!!
The underlying issue is that libxul.so (produced by /usr/local/bin/clang++70) has a dynamic elf section with a TEXTREL tag. % readelf -d libxul.so | grep TEXTREL 0x00000016 (TEXTREL) 0x0 0x0000001e (FLAGS) TEXTREL check_binary.py in the thunderbird build tree looks for TEXTREL and that is treated as a build error. But it boils down to the above readelf check. I don't know yet what is different on 11/i386 (could be a llvm70 problem, for instance).
By the way, using binutils [1] from ports to use a different ld fails when linking libxul.so in a different way: . . /usr/local/bin/ld: ../../js/src/js-dtrace.o: warning: relocation against `_ZN2js13ExecuteKernelEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectRKNS2_5ValueENS_16AbstractFramePtrEPS9_' in read-only section `.SUNW_dof' /usr/local/bin/ld: read-only segment has dynamic relocations clang-7: error: linker command failed with exit code 1 (use -v to see invocation) [1] Index: Makefile =================================================================== --- Makefile (revision 491624) +++ Makefile (working copy) @@ -28,6 +28,8 @@ zip:archivers/zip SSP_UNSAFE= yes +USE_BINUTILS= yes +LDFLAGS+=-B/usr/local/bin USE_GECKO= gecko USE_MOZILLA= -webp
A commit references this bug: Author: jbeich Date: Sat Feb 2 18:37:40 UTC 2019 New revision: 491971 URL: https://svnweb.freebsd.org/changeset/ports/491971 Log: www/firefox-esr: disable DTRACE on i386 by default after r490962 TEST-UNEXPECTED-FAIL | check_textrel | libxul.so | We do not want text relocations in libraries and programs PR: 235153 Changes: head/www/firefox/Makefile.options
A commit references this bug: Author: jbeich Date: Sat Feb 2 18:38:16 UTC 2019 New revision: 491973 URL: https://svnweb.freebsd.org/changeset/ports/491973 Log: MFH: r491971 www/firefox-esr: disable DTRACE on i386 by default after r490962 TEST-UNEXPECTED-FAIL | check_textrel | libxul.so | We do not want text relocations in libraries and programs PR: 235153 Approved by: ports-secteam blanket Changes: _U branches/2019Q1/ branches/2019Q1/www/firefox/Makefile.options
(In reply to John Hein from comment #6) Thanks for testing devel/binutils which gave away DTRACE as the culprit.
Thanks. I was going to look into the dtrace connection next. Can you explain the interactions with i386 and dtrace that manifested the build failure(s) in this particular way?
DTRACE is gone since ports r491972. I'm not interested in spending too much time on features only available in legacy branches.