Qt 5.10 fails to compile



  • I was trying to compile Qt from the latest (5.10.0) release, but it fails. The commands were:

    ./configure --prefix=/home/tuvok/src/qt-debug-5_10 -opensource -nomake tests -debug -confirm-license -webengine-proprietary-codecs
    make -j8
    

    And the results are as follows:

    ninja  -C /home/tuvok/src/Qt/5.10.0/Src/qtwebengine/src/core/debug QtWebEngineCore
    ninja: Entering directory `/home/tuvok/src/Qt/5.10.0/Src/qtwebengine/src/core/debug'
    [4/9089] CXX obj/third_party/webrtc/modules/audio_processing/audio_processing/aec_state.o
    FAILED: obj/third_party/webrtc/modules/audio_processing/audio_processing/aec_state.o
    /usr/bin/g++ -MMD -MF obj/third_party/webrtc/modules/audio_processing/audio_processing/aec_state.o.d -DWEBRTC_APM_DEBUG_DUMP=0 -DWEBRTC_AUDIOPROC_DEBUG_DUMP -DWEBRTC_INTELLIGIBILITY_ENHA
    NCER=0 -DWEBRTC_NS_FLOAT -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DDISABLE_NACL -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROW
    SING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
    -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_GLIBCXX_DEBUG=1 -DWEBRTC_ENABLE_PROTOBUF=1 -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DHAVE_SCTP -DENABL
    E_EXTERNAL_AUTH -DHAVE_WEBRTC_VIDEO -DHAVE_WEBRTC_VOICE -DLOGGING_INSIDE_WEBRTC -DUSE_WEBRTC_DEV_BRANCH -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_SOUND_
    SYSTEM -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -Igen -I../../3rdparty/chromium -I../../3rdp
    arty/chromium/third_party/webrtc_overrides -I../../3rdparty/chromium/third_party -Igen -I../../3rdparty/chromium/third_party/protobuf/src -I../../3rdparty/chromium/third_party -I../../3r
    dparty/chromium/third_party/webrtc/modules/audio_coding/codecs/isac/main/include -I../../3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../3rdparty/chromium/third_party
    /webrtc/common_audio/resampler/include -I../../3rdparty/chromium/third_party/webrtc/common_audio/signal_processing/include -I../../3rdparty/chromium/third_party/webrtc/common_audio/vad/i
    nclude -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -W
    all -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++11 -Wno-narrow
    ing -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -c ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc -o obj/third_party/webrtc/modules/audio
    _processing/audio_processing/aec_state.o
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc: In member function 'void webrtc::AecState::EchoAudibility::Update(rtc::ArrayView<const float>, cons
    t std::__debug::array<float, 64ul>&)':
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:274:40: error: call of overloaded 'abs(const float&)' is ambiguous
           std::max(std::abs(*result_x.first), std::abs(*result_x.second));
                                            ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:72:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/include/stdlib.h:751:12: note: candidate: int abs(int)
     extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
                ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:166:3: note: candidate: long int std::abs(long int)
       abs(long __i) { return __builtin_labs(__i); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
       abs(long long __x) { return __builtin_llabs (__x); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
       abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
       ^
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:274:68: error: call of overloaded 'abs(const float&)' is ambiguous
           std::max(std::abs(*result_x.first), std::abs(*result_x.second));
                                                                        ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:72:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/include/stdlib.h:751:12: note: candidate: int abs(int)
     extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
                ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:166:3: note: candidate: long int std::abs(long int)
       abs(long __i) { return __builtin_labs(__i); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
       abs(long long __x) { return __builtin_llabs (__x); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
       abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
       ^
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:276:40: error: call of overloaded 'abs(const float&)' is ambiguous
           std::max(std::abs(*result_s.first), std::abs(*result_s.second));
                                            ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:72:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/include/stdlib.h:751:12: note: candidate: int abs(int)
     extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
                ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:166:3: note: candidate: long int std::abs(long int)
       abs(long __i) { return __builtin_labs(__i); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
       abs(long long __x) { return __builtin_llabs (__x); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
       abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
       ^
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:276:68: error: call of overloaded 'abs(const float&)' is ambiguous
           std::max(std::abs(*result_s.first), std::abs(*result_s.second));
                                                                        ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:72:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/include/stdlib.h:751:12: note: candidate: int abs(int)
     extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
                ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:166:3: note: candidate: long int std::abs(long int)
       abs(long __i) { return __builtin_labs(__i); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
       abs(long long __x) { return __builtin_llabs (__x); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
       abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
       ^
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc: In member function 'void webrtc::AecState::EchoAudibility::UpdateWithOutput(rtc::ArrayView<const fl
    oat>)':
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:297:46: error: call of overloaded 'abs(const float&)' is ambiguous
       const float e_abs = std::max(std::abs(e_max), std::abs(e_min));
                                                  ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:72:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/include/stdlib.h:751:12: note: candidate: int abs(int)
     extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
                ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:166:3: note: candidate: long int std::abs(long int)
       abs(long __i) { return __builtin_labs(__i); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
       abs(long long __x) { return __builtin_llabs (__x); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
       abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
       ^
    ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:297:63: error: call of overloaded 'abs(const float&)' is ambiguous
       const float e_abs = std::max(std::abs(e_max), std::abs(e_min));
                                                                   ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:72:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/include/stdlib.h:751:12: note: candidate: int abs(int)
     extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
                ^
    In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/stl_algo.h:59:0,
                     from /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/algorithm:62,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.h:14,
                     from ../../3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc:11:
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:166:3: note: candidate: long int std::abs(long int)
       abs(long __i) { return __builtin_labs(__i); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:174:3: note: candidate: long long int std::abs(long long int)
       abs(long long __x) { return __builtin_llabs (__x); }
       ^
    /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/cstdlib:179:3: note: candidate: __int128 std::abs(__int128)
       abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
       ^
    [13/9089] CXX obj/third_party/webrtc/modules/audio_processing/audio_processing/level_controller.o
    ninja: build stopped: subcommand failed.
    make[4]: *** [Makefile.gn_run:1069: run_ninja] Error 1
    make[4]: Leaving directory '/home/tuvok/src/Qt/5.10.0/Src/qtwebengine/src/core'
    make[3]: *** [Makefile:80: sub-gn_run-pro-make_first] Error 2
    make[3]: Leaving directory '/home/tuvok/src/Qt/5.10.0/Src/qtwebengine/src/core'
    make[2]: *** [Makefile:79: sub-core-make_first] Error 2
    make[2]: Leaving directory '/home/tuvok/src/Qt/5.10.0/Src/qtwebengine/src'
    make[1]: *** [Makefile:47: sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/tuvok/src/Qt/5.10.0/Src/qtwebengine'
    make: *** [Makefile:1028: module-qtwebengine-make_first] Error 2
    

    Is this a known problem? How should I fix this?


  • Lifetime Qt Champion

    Hi,

    What Linux distribution are you using ?
    Which which version of gcc ?



  • @SGaist
    I'm using Gentoo, I compiled with x86_64-pc-linux-gnu-5.4.0



  • It seems the problem solved itself. The funny thing about Gentoo is, you can have multiple versions of certain packages installed in so called slots. After update I ended up with two gcc versions, the mentioned 5.4.0 and 6.4.0. For some reason Qt sources didn't like that (I didn't have any problems compiling other things).


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.