Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Fail compiling firefox with compiler toolchain in non-standard location

  • 3 ŋuɖoɖowo
  • 1 masɔmasɔ sia le esi
  • 1 view
  • Nuɖoɖo mlɔetɔ JohannHan

more options

I am trying to build firefox version 68.0 from source using the following options: ```

  1. Set up the config options

export MOZCONFIG=`pwd`/mozconfig cat > mozconfig << EOF mk_add_options MOZ_MAKE_FLAGS="-j4"

  1. If you have installed dbus-glib, comment out this line:
  2. ac_add_options --disable-dbus
  1. If you have installed dbus-glib, and you have installed (or will install)
  2. wireless-tools, and you wish to use geolocation web services, comment out
  3. this line

ac_add_options --disable-necko-wifi

  1. API Keys for geolocation APIs - necko-wifi (above) is required for MLS
  2. Uncomment the following line if you wish to use Mozilla Location Service
  3. ac_add_options --with-mozilla-api-keyfile=$PWD/mozilla-key
  1. Uncomment the following line if you wish to use Google's geolocaton API
  2. (needed for use with saved maps with Google Maps)
  3. ac_add_options --with-google-api-keyfile=$PWD/google-key
  1. Uncomment this line if you have installed startup-notification:
  2. ac_add_options --enable-startup-notification
  1. Uncomment the following option if you have not installed PulseAudio

ac_add_options --disable-pulseaudio

  1. and uncomment this if you installed alsa-lib instead of PulseAudio

ac_add_options --enable-alsa

  1. If you have installed GConf, comment out this line

ac_add_options --disable-gconf

  1. The BLFS editors recommend not changing anything below this line:

ac_add_options --prefix=/scratch/local/firefox-68.0 ac_add_options --enable-application=browser

ac_add_options --disable-crashreporter ac_add_options --disable-updater

  1. enabling the tests will use a lot more space and significantly
  2. increase the build time, for no obvious benefit.

ac_add_options --disable-tests

  1. Optimization for size is broken with gcc7 and later

ac_add_options --enable-optimize="-O2"

ac_add_options --enable-official-branding

  1. From firefox-61 system cairo is not supported

ac_add_options --enable-system-ffi ac_add_options --enable-system-pixman

  1. From firefox-62 --with-pthreads is not recognized

ac_add_options --with-system-bz2

  1. ac_add_options --with-system-jpeg
  2. ac_add_options --with-system-png

ac_add_options --with-system-zlib

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir EOF

```

./mach build failed with the errors:

``` 11:29.42 /home/linuxbrew/.linuxbrew/bin/clang++ -o Unified_cpp_js_src_jit7.o -c -I/scratch/Downloads/firefox-68.0/firefox-build-dir/dist/system_wrappers -include /scratch/Downloads/firefox-68.0/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DWASM_HUGE_MEMORY -DJS_HAS_CTYPES -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/scratch/Downloads/firefox-68.0/js/src/jit -I/scratch/Downloads/firefox-68.0/firefox-build-dir/js/src/jit -I/scratch/Downloads/firefox-68.0/firefox-build-dir/js/src -I/scratch/Downloads/firefox-68.0/js/src -I/scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include -I/scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /scratch/Downloads/firefox-68.0/firefox-build-dir/js/src/js-confdefs.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-noexcept-type -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fomit-frame-pointer -funwind-tables -fno-strict-aliasing -Werror=format -Wno-shadow -MD -MP -MF .deps/Unified_cpp_js_src_jit7.o.pp /scratch/Downloads/firefox-68.0/firefox-build-dir/js/src/jit/Unified_cpp_js_src_jit7.cpp 11:30.32 [style 0.0.1] cargo:rerun-if-changed=build_gecko.rs 11:30.32 [style 0.0.1] cargo:rerun-if-changed=/scratch/Downloads/firefox-68.0/firefox-build-dir/layout/style/bindgen.toml 11:30.32 [style 0.0.1] cargo:rerun-if-changed=/scratch/Downloads/firefox-68.0/layout/style/ServoBindings.toml 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:127:1: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:130:5: error: exception specification in declaration does not match previous declaration 11:32.51 [style 0.0.1] /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/new:91:7: note: previous declaration is here 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:134:21: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:139:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:139:56: error: exception specification in declaration does not match previous declaration 11:32.51 [style 0.0.1] /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/new:92:7: note: previous declaration is here 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:144:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:149:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:154:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:159:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:164:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:49:22: error: no member named 'is_trivial' in namespace 'std' 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:49:33: error: 'From' does not refer to a value 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:42:33: note: declared here 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:49:40: error: no member named 'value' in the global namespace 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:52:22: error: no member named 'is_trivial' in namespace 'std' 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:52:33: error: 'To' does not refer to a value 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:42:20: note: declared here 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:52:38: error: no member named 'value' in the global namespace 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Span.h:416:36: error: no type named 'nullptr_t' in namespace 'std' 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Span.h:64:25: error: no matching function for call to 'forward' 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Span.h:663:21: note: in instantiation of function template specialization 'mozilla::narrow_cast<unsigned long, unsigned long>' requested here 11:32.52 [style 0.0.1] /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/move.h:51:5: note: candidate function template not viable: no known conversion from 'unsigned long' to 'typename std::identity<unsigned long>::type &&' (aka 'unsigned long &&') for 1st argument 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/DbgMacro.h:30:48: error: no member named 'declval' in namespace 'std' 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/DbgMacro.h:30:68: error: expected '(' for function-style cast or type construction ... ``` I have all the dependecies installed in /home/linuxbrew/.linux and the build setting works previously with firefox 64.0. It seems the build system is looking for dependency in /usr/lib, which contains ancient version of compiler toolchain that can't build firefox. How do I tell the build system to exclude looking into /usr/lib at all?

I am trying to build firefox version 68.0 from source using the following options: ``` #Set up the config options export MOZCONFIG=`pwd`/mozconfig cat > mozconfig << EOF mk_add_options MOZ_MAKE_FLAGS="-j4" # If you have installed dbus-glib, comment out this line: # ac_add_options --disable-dbus # If you have installed dbus-glib, and you have installed (or will install) # wireless-tools, and you wish to use geolocation web services, comment out # this line ac_add_options --disable-necko-wifi # API Keys for geolocation APIs - necko-wifi (above) is required for MLS # Uncomment the following line if you wish to use Mozilla Location Service #ac_add_options --with-mozilla-api-keyfile=$PWD/mozilla-key # Uncomment the following line if you wish to use Google's geolocaton API # (needed for use with saved maps with Google Maps) #ac_add_options --with-google-api-keyfile=$PWD/google-key # Uncomment this line if you have installed startup-notification: #ac_add_options --enable-startup-notification # Uncomment the following option if you have not installed PulseAudio ac_add_options --disable-pulseaudio # and uncomment this if you installed alsa-lib instead of PulseAudio ac_add_options --enable-alsa # If you have installed GConf, comment out this line ac_add_options --disable-gconf # The BLFS editors recommend not changing anything below this line: ac_add_options --prefix=/scratch/local/firefox-68.0 ac_add_options --enable-application=browser ac_add_options --disable-crashreporter ac_add_options --disable-updater # enabling the tests will use a lot more space and significantly # increase the build time, for no obvious benefit. ac_add_options --disable-tests # Optimization for size is broken with gcc7 and later ac_add_options --enable-optimize="-O2" ac_add_options --enable-official-branding # From firefox-61 system cairo is not supported ac_add_options --enable-system-ffi ac_add_options --enable-system-pixman # From firefox-62 --with-pthreads is not recognized ac_add_options --with-system-bz2 #ac_add_options --with-system-jpeg #ac_add_options --with-system-png ac_add_options --with-system-zlib mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir EOF ``` ./mach build failed with the errors: ``` 11:29.42 /home/linuxbrew/.linuxbrew/bin/clang++ -o Unified_cpp_js_src_jit7.o -c -I/scratch/Downloads/firefox-68.0/firefox-build-dir/dist/system_wrappers -include /scratch/Downloads/firefox-68.0/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DWASM_HUGE_MEMORY -DJS_HAS_CTYPES -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/scratch/Downloads/firefox-68.0/js/src/jit -I/scratch/Downloads/firefox-68.0/firefox-build-dir/js/src/jit -I/scratch/Downloads/firefox-68.0/firefox-build-dir/js/src -I/scratch/Downloads/firefox-68.0/js/src -I/scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include -I/scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /scratch/Downloads/firefox-68.0/firefox-build-dir/js/src/js-confdefs.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-noexcept-type -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fomit-frame-pointer -funwind-tables -fno-strict-aliasing -Werror=format -Wno-shadow -MD -MP -MF .deps/Unified_cpp_js_src_jit7.o.pp /scratch/Downloads/firefox-68.0/firefox-build-dir/js/src/jit/Unified_cpp_js_src_jit7.cpp 11:30.32 [style 0.0.1] cargo:rerun-if-changed=build_gecko.rs 11:30.32 [style 0.0.1] cargo:rerun-if-changed=/scratch/Downloads/firefox-68.0/firefox-build-dir/layout/style/bindgen.toml 11:30.32 [style 0.0.1] cargo:rerun-if-changed=/scratch/Downloads/firefox-68.0/layout/style/ServoBindings.toml 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:127:1: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:130:5: error: exception specification in declaration does not match previous declaration 11:32.51 [style 0.0.1] /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/new:91:7: note: previous declaration is here 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:134:21: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:139:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:139:56: error: exception specification in declaration does not match previous declaration 11:32.51 [style 0.0.1] /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/new:92:7: note: previous declaration is here 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:144:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:149:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:154:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:159:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/mozalloc.h:164:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete] 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:49:22: error: no member named 'is_trivial' in namespace 'std' 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:49:33: error: 'From' does not refer to a value 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:42:33: note: declared here 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:49:40: error: no member named 'value' in the global namespace 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:52:22: error: no member named 'is_trivial' in namespace 'std' 11:32.51 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:52:33: error: 'To' does not refer to a value 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:42:20: note: declared here 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Casting.h:52:38: error: no member named 'value' in the global namespace 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Span.h:416:36: error: no type named 'nullptr_t' in namespace 'std' 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Span.h:64:25: error: no matching function for call to 'forward' 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/Span.h:663:21: note: in instantiation of function template specialization 'mozilla::narrow_cast<unsigned long, unsigned long>' requested here 11:32.52 [style 0.0.1] /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/move.h:51:5: note: candidate function template not viable: no known conversion from 'unsigned long' to 'typename std::identity<unsigned long>::type &&' (aka 'unsigned long &&') for 1st argument 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/DbgMacro.h:30:48: error: no member named 'declval' in namespace 'std' 11:32.52 [style 0.0.1] /scratch/Downloads/firefox-68.0/firefox-build-dir/dist/include/mozilla/DbgMacro.h:30:68: error: expected '(' for function-style cast or type construction ... ``` I have all the dependecies installed in /home/linuxbrew/.linux and the build setting works previously with firefox 64.0. It seems the build system is looking for dependency in /usr/lib, which contains ancient version of compiler toolchain that can't build firefox. How do I tell the build system to exclude looking into /usr/lib at all?

All Replies (3)

more options

What Linux do you use?

more options

Try this on a forum for Centos.

Forum Centos