Summary: | www/firefox 33.0 does not build on FreeBSD 8.4 under poudriere | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Don Lewis <truckman> | ||||
Component: | Individual Port(s) | Assignee: | freebsd-gecko (Nobody) <gecko> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Some People | Flags: | jbeich:
maintainer-feedback+
|
||||
Priority: | --- | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Bug Depends on: | 195559 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
Don Lewis
2014-10-20 17:26:10 UTC
Auto-assigned to maintainer gecko@FreeBSD.org I think this only fails on FreeBSD 8. The reason is that FreeBSD 8 does not have jemalloc in libc, so the firefox port builds its own internal copy of jemalloc, and the configure step for that fails. When I tested on FreeBSD 10, the port seems to detect the presence of jemalloc and does not attempt to build its own copy. Interestingly i386 and amd64 fail differently. On i386, bsd.port.mk sets CONFIGURE_TARGET to i386-portbld-freebsd8.4, which does not match i386-unknown-freebsd8.4, triggering a false detection of a crossbuild: configuring in memory/jemalloc/src running /bin/sh /wrkdirs/usr/ports/www/firefox/work/mozilla-release/memory/jemalloc/src/configure --build=i386-portbld-freebsd8.4 --host=i386-unknown-freebsd8.4 ... On amd64, bsd.gecko.mk overrides CONFIGURE_TARGET and sets it to x86_64-unknown-freebsd8.4, which does not match amd64-unknown-freebsd8.4, giving the same end result: configuring in memory/jemalloc/src running /bin/sh /wrkdirs/usr/ports/www/firefox/work/mozilla-release/memory/jemalloc/src/configure --build=x86_64-unknown-freebsd8.4 --host=amd64-unknown-freebsd8.4 ... --enable-jemalloc is also used on 9.x but configure doesn't fail there. Anyway, can you try configure target fixes in trunk/ ? $ svn export https://trillian.chruetertee.ch/svn/freebsd-gecko/trunk $ (cd trunk; for d in */*/files; do rm -rf /usr/ports/$d; done) $ cp -R trunk/ /usr/ports/ Fails to build: [snip] ===> Returning to build of firefox-34.0.b7,1 ===> firefox-34.0.b7,1 depends on shared library: libpango-1.0.so - found (/us r/local/lib/libpango-1.0.so.0.3400.1) =========================================================================== =======================<phase: configure >============================ ===> Configuring for firefox-34.0.b7,1 (cd /wrkdirs/usr/ports/www/firefox/work/mozilla-beta && /usr/local/bin/autoconf- 2.13) (cd /wrkdirs/usr/ports/www/firefox/work/mozilla-beta/js/src/ && /usr/local/bin/a utoconf-2.13) =========================================================================== =======================<phase: build >============================ ===> Building for firefox-34.0.b7,1 gmake: Makefile: No such file or directory gmake: *** No rule to make target 'Makefile'. Stop. ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop in /usr/ports/www/firefox. ===> Cleaning for firefox-34.0.b7,1 build of /usr/ports/www/firefox ended at Tue Nov 11 09:35:34 PST 2014 build time: 00:09:32 Configure succeeds on 9.x because the crossbuild check in jemalloc's configure script isn't getting triggered. From <http://beefy2.isc.freebsd.org/bulk/91amd64-default/latest/logs/firefox-33.0%2c1.log>: configuring in memory/jemalloc/src running /bin/sh /wrkdirs/usr/ports/www/firefox/work/mozilla-release/memory/jemalloc/src/configure --build=x86_64-unknown-freebsd9.1 --host=x86_64-unknown-freebsd9.1 ... From <http://beefy1.isc.freebsd.org/bulk/91i386-default/latest/logs/firefox-33.0%2c1.log>: configuring in memory/jemalloc/src running /bin/sh /wrkdirs/usr/ports/www/firefox/work/mozilla-release/memory/jemalloc/src/configure --build=i386-portbld-freebsd9.1 --host=i386-portbld-freebsd9.1 ... In both cases build == host, which is not what I see on FreeBSD 8.x. Created attachment 149300 [details] firefox-34.0.b7,1 build log for 8.4R amd64 (In reply to Don Lewis from comment #4) > ===> Building for firefox-34.0.b7,1 > gmake: Makefile: No such file or directory > gmake: *** No rule to make target 'Makefile'. Stop. Have you sync'd Mk/bsd.gecko.mk ? Otherwise, compare with the attached log. That worked. I get this error on startup: (process:2183): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed but firefox appears to function properly. I suspect that this addition to bsd.gecko.mk would allow 33.0 to build correctly: +CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/}-portbld-${OPSYS:tl}${OSREL} It isn't that simple. CONFIGURE_TARGET is ignored for client.mk build (used by PGO, thunderbird and seamonkey). non-client.mk build is untested upstream so I've removed it to keep sanity but it turned out thunderbird (unlike seamonkey) sources .mozconfig more than once and breaks. So, let's not destabilize 33.1 (bug 194945) but wait 2 more weeks for 34.0. https://wiki.mozilla.org/RapidRelease/Calendar#Future_branch_dates Should be fixed since ports r373830. |