+++ This bug was initially created as a clone of Bug #218912 +++ Firefox 55 is scheduled on 2017-08-08 with release candidates available a week earlier. Early testing for non-default options is welcome e.g., RUST=off or SNDIO=on.
Created attachment 183457 [details] beta1 (lacks -i18n)
Created attachment 183533 [details] beta2
Created attachment 183736 [details] beta4
Created attachment 183737 [details] beta4 git diff --no-renames, so regular patch(1) understands
Created attachment 183827 [details] beta5
Created attachment 183933 [details] beta6
Created attachment 184163 [details] beta7
Created attachment 184285 [details] beta8
Created attachment 184351 [details] beta9
Created attachment 184692 [details] beta12
Created attachment 184908 [details] rc1
A commit references this bug: Author: jbeich Date: Mon Aug 7 18:22:53 UTC 2017 New revision: 447501 URL: https://svnweb.freebsd.org/changeset/ports/447501 Log: www/firefox: update to 55.0 This is the last release to support RUST=off. Later versions remove non-Rust codepaths e.g., via encoding_rs. Changes: https://www.mozilla.org/firefox/55.0/releasenotes/ PR: 216541 219963 Security: 555b244e-6b20-4546-851f-d8eb7d6c1ffa MFH: 2017Q3 Changes: head/Mk/Uses/gecko.mk head/www/firefox/Makefile head/www/firefox/distinfo head/www/firefox/files/patch-bug1021761 head/www/firefox/files/patch-bug1312182 head/www/firefox/files/patch-bug1356709 head/www/firefox/files/patch-bug1357874 head/www/firefox/files/patch-bug1360321 head/www/firefox/files/patch-bug1376411 head/www/firefox/files/patch-bug1385597 head/www/firefox/files/patch-bug702179 head/www/firefox/files/patch-bug826985 head/www/firefox/files/patch-bug847568 head/www/firefox/files/patch-bug981348 head/www/firefox/files/patch-python_futures_concurrent_futures_process.py head/www/firefox/files/patch-rust-option head/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py head/www/firefox-i18n/Makefile head/www/firefox-i18n/Makefile.lang head/www/firefox-i18n/Makefile.option head/www/firefox-i18n/distinfo
Build fail with sqlite 3.20.0: checking for sqlite3 >= 3.19.3... yes checking SQLITE_CFLAGS... -I/usr/local/include checking SQLITE_LIBS... -L/usr/local/lib -lsqlite3 checking for SQLITE_SECURE_DELETE support in system SQLite... yes checking for SQLITE_THREADSAFE support in system SQLite... yes checking for SQLITE_ENABLE_FTS3 support in system SQLite... no configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3. DEBUG: <truncated - see config.log for full output> DEBUG: configure:15551: checking for wget DEBUG: configure:15924: checking for sqlite3 >= 3.19.3 DEBUG: configure:15931: checking SQLITE_CFLAGS DEBUG: configure:15936: checking SQLITE_LIBS DEBUG: configure:15967: checking for SQLITE_SECURE_DELETE support in system SQLite DEBUG: configure:15990: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include -pthread -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3 1>&5 DEBUG: configure:16013: checking for SQLITE_THREADSAFE support in system SQLite DEBUG: configure:16036: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include -pthread -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3 1>&5 DEBUG: configure:16059: checking for SQLITE_ENABLE_FTS3 support in system SQLite DEBUG: configure:16082: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include -pthread -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3 1>&5 DEBUG: configure: failed program was: DEBUG: #line 16073 "configure" DEBUG: #include "confdefs.h" DEBUG: DEBUG: #include "sqlite3.h" DEBUG: DEBUG: int main(int argc, char **argv){ DEBUG: return !sqlite3_compileoption_used("SQLITE_ENABLE_FTS3"); DEBUG: } DEBUG: configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3. ERROR: old-configure failed *** Fix above errors and then restart with\ "gmake -f client.mk build" gmake[2]: *** [/usr/obj/usr/ports/www/firefox/work/firefox-55.0/client.mk:383: configure] Error 1 gmake[2]: Leaving directory '/usr/obj/usr/ports/www/firefox' ===> Script "configure" failed unexpectedly. Please report the problem to gecko@FreeBSD.org [maintainer] and attach the "/usr/obj/usr/ports/www/firefox/work/firefox-55.0/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1
(In reply to vvd from comment #13) > DEBUG: configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3. Can you reproduce with firefox-54.0.1,1 (e.g., by downgrading or via 2017Q3)? If so file separate bug as this is probably a regression from ports r447541.
(In reply to Jan Beich from comment #14) You are right: checking for sqlite3 >= 3.17.0... yes checking SQLITE_CFLAGS... -I/usr/local/include checking SQLITE_LIBS... -L/usr/local/lib -lsqlite3 checking for SQLITE_SECURE_DELETE support in system SQLite... yes checking for SQLITE_THREADSAFE support in system SQLite... yes checking for SQLITE_ENABLE_FTS3 support in system SQLite... no configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3. DEBUG: <truncated - see config.log for full output> DEBUG: configure:15799: checking for wget DEBUG: configure:16172: checking for sqlite3 >= 3.17.0 DEBUG: configure:16179: checking SQLITE_CFLAGS DEBUG: configure:16184: checking SQLITE_LIBS DEBUG: configure:16215: checking for SQLITE_SECURE_DELETE support in system SQLite DEBUG: configure:16238: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include -pthread -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3 1>&5 DEBUG: configure:16261: checking for SQLITE_THREADSAFE support in system SQLite DEBUG: configure:16284: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include -pthread -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3 1>&5 DEBUG: configure:16307: checking for SQLITE_ENABLE_FTS3 support in system SQLite DEBUG: configure:16330: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include -pthread -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3 1>&5 DEBUG: configure: failed program was: DEBUG: #line 16321 "configure" DEBUG: #include "confdefs.h" DEBUG: DEBUG: #include "sqlite3.h" DEBUG: DEBUG: int main(int argc, char **argv){ DEBUG: return !sqlite3_compileoption_used("SQLITE_ENABLE_FTS3"); DEBUG: } DEBUG: configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3. ERROR: old-configure failed *** Fix above errors and then restart with\ "gmake -f client.mk build" gmake[2]: *** [/usr/obj/usr/ports/www/firefox/work/firefox-54.0.1/client.mk:383: configure] Error 1 gmake[2]: Leaving directory '/usr/ports/www/firefox' ===> Script "configure" failed unexpectedly. Please report the problem to gecko@FreeBSD.org [maintainer] and attach the "/usr/obj/usr/ports/www/firefox/work/firefox-54.0.1/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1
Removing the two patches in databases/sqlite3/files might resolve the issue. -- Martin
3.20.0 lost a number of options but looking at upstream changes the support for those wasn't removed. Maybe feld@ knows more given the update landed without any review. ;) $ echo 'PRAGMA compile_options' | sqlite3 COMPILER=clang-5.0.0 -DEFAULT_SYNCHRONOUS=2 -DEFAULT_WAL_SYNCHRONOUS=2 ENABLE_COLUMN_METADATA ENABLE_DBSTAT_VTAB -ENABLE_FTS3 ENABLE_FTS3_PARENTHESIS +ENABLE_FTS3_TOKENIZER ENABLE_FTS4 ENABLE_RTREE ENABLE_UNLOCK_NOTIFY HAVE_ISNAN SECURE_DELETE -SYSTEM_MALLOC TEMP_STORE=1 THREADSAFE=1 +USE_URI
FYI, the following patch fixed build for me. Index: www/firefox/Makefile =================================================================== --- www/firefox/Makefile (revision 447560) +++ www/firefox/Makefile (working copy) @@ -62,6 +62,8 @@ post-extract: <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: + @${REINPLACE_CMD} -e 's|SQLITE_ENABLE_FTS3|SQLITE_ENABLE_FTS4|g' \ + ${WRKSRC}/old-configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp The same patch also works for www/firefox-esr.
FYI, It seems sqlite3 source code was rearranged. Basically, these two code chunks have switched positions. === option list === #if SQLITE_ENABLE_FTS3 "ENABLE_FTS3", #endif =================== === option hack === /* ** FTS4 is really an extension for FTS3. It is enabled using the ** SQLITE_ENABLE_FTS3 macro. But to avoid confusion we also all ** the SQLITE_ENABLE_FTS4 macro to serve as an alisse for SQLITE_ENABLE_FTS3. */ #if defined(SQLITE_ENABLE_FTS4) && !defined(SQLITE_ENABLE_FTS3) # define SQLITE_ENABLE_FTS3 #endif =================== i.e., the option list comes before the option hack now. In other words, compile time options are shown instead of actually active options now. I don't know whether it is intentional.
Thanks for the analysis. Probably caused by https://sqlite.org/src/info/9a443397a6b110f6 Fortunately, the fallout seems to be limited[1] to gecko@ ports. [1] https://codesearch.debian.net/search?q=sqlite3_compileoption_used.*ENABLE_&perpkg=1
Created attachment 185168 [details] sqlite3 fix FWIW, ports r447541 forgot to keep tcl-sqlite in sync with sqlite. (In reply to Jung-uk Kim from comment #18) > + @${REINPLACE_CMD} -e 's|SQLITE_ENABLE_FTS3|SQLITE_ENABLE_FTS4|g' \ > + ${WRKSRC}/old-configure.in This is going to be hard to upstream given the issue is specific to our package: FTS3 is turned from an explicit into an implicit option. Let's just restore ENABLE_FTS3. (abusing maintainer-approval as I'm too used to generic review flag from bugzilla.mozilla.org)
Comment on attachment 185168 [details] sqlite3 fix I am not a maintainer but it looks good to me. :-)
A commit references this bug: Author: madpilot Date: Wed Aug 9 14:04:04 UTC 2017 New revision: 447626 URL: https://svnweb.freebsd.org/changeset/ports/447626 Log: Add explicit SQLITE_ENABLE_FTS3. This fixes the firefox and thunderburd ports build. Due to recent changes in sqlite3 even if this flag is actually implicitly added to the build when the FTS4 option is enabled, it is not reported as present via the sqlite3_compileoption_used("SQLITE_ENABLE_FTS3") API call, which is used by the gecko ports configure script to check for a suitable sqlite3 library. Related upstream change: https://sqlite.org/src/info/9a443397a6b110f6 PR: 221361, 219963 Submitted by: Vladimir Krstulja <vlad-fbsd@acheronmedia.com>, jbeich@ Approved by: portmgr@ (blanket) MFH: 2017Q3 Changes: head/databases/sqlite3/Makefile
Comment on attachment 185168 [details] sqlite3 fix Obsoleted by bug 221361 and bug 221368.
(In reply to commit-hook from comment #23) After this patch FF build and work fine. Thanks.
A commit references this bug: Author: madpilot Date: Thu Aug 10 08:12:47 UTC 2017 New revision: 447666 URL: https://svnweb.freebsd.org/changeset/ports/447666 Log: MFH: r447626 Add explicit SQLITE_ENABLE_FTS3. This fixes the firefox and thunderburd ports build. Due to recent changes in sqlite3 even if this flag is actually implicitly added to the build when the FTS4 option is enabled, it is not reported as present via the sqlite3_compileoption_used("SQLITE_ENABLE_FTS3") API call, which is used by the gecko ports configure script to check for a suitable sqlite3 library. Related upstream change: https://sqlite.org/src/info/9a443397a6b110f6 PR: 221361, 219963 Submitted by: Vladimir Krstulja <vlad-fbsd@acheronmedia.com>, jbeich@ Approved by: portmgr@ (blanket) Approved by: portmgr (antoine) Changes: _U branches/2017Q3/ branches/2017Q3/databases/sqlite3/Makefile
A commit references this bug: Author: jbeich Date: Thu Aug 10 15:36:57 UTC 2017 New revision: 447690 URL: https://svnweb.freebsd.org/changeset/ports/447690 Log: MFH: r447501 r447660 www/firefox: update to 55.0.1 This is the last release to support RUST=off. Later versions remove non-Rust codepaths e.g., via encoding_rs. Changes: https://www.mozilla.org/firefox/55.0.1/releasenotes/ PR: 216541 219963 Security: 555b244e-6b20-4546-851f-d8eb7d6c1ffa Approved by: ports-secteam (zi) Changes: _U branches/2017Q3/ branches/2017Q3/Mk/Uses/gecko.mk branches/2017Q3/www/firefox/Makefile branches/2017Q3/www/firefox/distinfo branches/2017Q3/www/firefox/files/patch-bug1021761 branches/2017Q3/www/firefox/files/patch-bug1312182 branches/2017Q3/www/firefox/files/patch-bug1356709 branches/2017Q3/www/firefox/files/patch-bug1357874 branches/2017Q3/www/firefox/files/patch-bug1360321 branches/2017Q3/www/firefox/files/patch-bug1376411 branches/2017Q3/www/firefox/files/patch-bug1385597 branches/2017Q3/www/firefox/files/patch-bug702179 branches/2017Q3/www/firefox/files/patch-bug826985 branches/2017Q3/www/firefox/files/patch-bug847568 branches/2017Q3/www/firefox/files/patch-bug981348 branches/2017Q3/www/firefox/files/patch-python_futures_concurrent_futures_process.py branches/2017Q3/www/firefox/files/patch-rust-option branches/2017Q3/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py branches/2017Q3/www/firefox-i18n/Makefile branches/2017Q3/www/firefox-i18n/Makefile.lang branches/2017Q3/www/firefox-i18n/Makefile.option branches/2017Q3/www/firefox-i18n/distinfo