yuzu icon indicating copy to clipboard operation
yuzu copied to clipboard

Compilation of mainline branch failing on Ubuntu 22.04 with GCC 10

Open OlegAckbar opened this issue 1 year ago • 3 comments

Cmake configured with next parameters cmake .. -GNinja -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF -DYUZU_USE_EXTERNAL_SDL2=OFF Ninja run with next command: ninja -j$(nproc) Terminal output:

FAILED: src/audio_core/CMakeFiles/audio_core.dir/renderer/voice/voice_info.cpp.o 
/usr/bin/g++-10 -DARCHITECTURE_x86_64=1 -DBOOST_ASIO_DISABLE_CONCEPTS -DBOOST_DATE_TIME_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DFMT_LOCALE -DHAVE_CUBEB=1 -DHAVE_SDL2 -DNDEBUG -DYUZU_UNIX=1 -D_FILE_OFFSET_BITS=64 -I/home/oleg/Загрузки/yuzu-mainline/src/. -I/home/oleg/Загрузки/yuzu-mainline/externals/./microprofile -I/home/oleg/Загрузки/yuzu-mainline/externals/dynarmic/src/dynarmic/.. -I/home/oleg/Загрузки/yuzu-mainline/externals/dynarmic/externals/mcl/src/../include -I/home/oleg/Загрузки/yuzu-mainline/externals/cubeb/include -I/home/oleg/Загрузки/yuzu-mainline/build/exports -isystem /usr/include/SDL2 -isystem /home/oleg/Загрузки/yuzu-mainline/build/vcpkg_installed/x64-linux/include -O3 -DNDEBUG -Wall -Werror=array-bounds -Werror=implicit-fallthrough -Werror=missing-declarations -Werror=missing-field-initializers -Werror=reorder -Werror=shadow -Werror=sign-compare -Werror=switch -Werror=uninitialized -Werror=unused-function -Werror=unused-result -Werror=unused-variable -Wextra -Wmissing-declarations -Wno-attributes -Wno-invalid-offsetof -Wno-unused-parameter -mcx16 -Werror=conversion -Werror=ignored-qualifiers -Werror=unused-but-set-parameter -Werror=unused-but-set-variable -Wno-sign-conversion -std=gnu++2a -MD -MT src/audio_core/CMakeFiles/audio_core.dir/renderer/voice/voice_info.cpp.o -MF src/audio_core/CMakeFiles/audio_core.dir/renderer/voice/voice_info.cpp.o.d -o src/audio_core/CMakeFiles/audio_core.dir/renderer/voice/voice_info.cpp.o -c '/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/voice/voice_info.cpp'
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/voice/voice_info.cpp: In member function ‘void AudioCore::AudioRenderer::VoiceInfo::UpdateParameters(AudioCore::AudioRenderer::BehaviorInfo::ErrorInfo&, const AudioCore::AudioRenderer::VoiceInfo::InParameter&, const AudioCore::AudioRenderer::PoolMapper&, const AudioCore::AudioRenderer::BehaviorInfo&)’:
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/voice/voice_info.cpp:85:15: error: conversion from ‘int’ to ‘u16’ {aka ‘short unsigned int’} may change value [-Werror=conversion]
   85 |         flags |= u16(params.flags.IsVoicePlayedSampleCountResetAtLoopPointSupported);
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/voice/voice_info.cpp:89:15: error: conversion from ‘int’ to ‘u16’ {aka ‘short unsigned int’} may change value [-Werror=conversion]
   89 |         flags |= u16(params.flags.IsVoicePitchAndSrcSkippedSupported);
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
[974/1361] Building CXX object src/audio_core/CMakeFiles/audio_core.dir/renderer/system_manager.cpp.o
FAILED: src/audio_core/CMakeFiles/audio_core.dir/renderer/system_manager.cpp.o 
/usr/bin/g++-10 -DARCHITECTURE_x86_64=1 -DBOOST_ASIO_DISABLE_CONCEPTS -DBOOST_DATE_TIME_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DFMT_LOCALE -DHAVE_CUBEB=1 -DHAVE_SDL2 -DNDEBUG -DYUZU_UNIX=1 -D_FILE_OFFSET_BITS=64 -I/home/oleg/Загрузки/yuzu-mainline/src/. -I/home/oleg/Загрузки/yuzu-mainline/externals/./microprofile -I/home/oleg/Загрузки/yuzu-mainline/externals/dynarmic/src/dynarmic/.. -I/home/oleg/Загрузки/yuzu-mainline/externals/dynarmic/externals/mcl/src/../include -I/home/oleg/Загрузки/yuzu-mainline/externals/cubeb/include -I/home/oleg/Загрузки/yuzu-mainline/build/exports -isystem /usr/include/SDL2 -isystem /home/oleg/Загрузки/yuzu-mainline/build/vcpkg_installed/x64-linux/include -O3 -DNDEBUG -Wall -Werror=array-bounds -Werror=implicit-fallthrough -Werror=missing-declarations -Werror=missing-field-initializers -Werror=reorder -Werror=shadow -Werror=sign-compare -Werror=switch -Werror=uninitialized -Werror=unused-function -Werror=unused-result -Werror=unused-variable -Wextra -Wmissing-declarations -Wno-attributes -Wno-invalid-offsetof -Wno-unused-parameter -mcx16 -Werror=conversion -Werror=ignored-qualifiers -Werror=unused-but-set-parameter -Werror=unused-but-set-variable -Wno-sign-conversion -std=gnu++2a -MD -MT src/audio_core/CMakeFiles/audio_core.dir/renderer/system_manager.cpp.o -MF src/audio_core/CMakeFiles/audio_core.dir/renderer/system_manager.cpp.o.d -o src/audio_core/CMakeFiles/audio_core.dir/renderer/system_manager.cpp.o -c '/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp'
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp: In member function ‘void AudioCore::AudioRenderer::SystemManager::Stop()’:
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp:54:12: error: ‘struct std::atomic<bool>’ has no member named ‘notify_all’
   54 |     update.notify_all();
      |            ^~~~~~~~~~
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp: In member function ‘void AudioCore::AudioRenderer::SystemManager::ThreadFunc()’:
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp:118:16: error: ‘struct std::atomic<bool>’ has no member named ‘wait’
  118 |         update.wait(false);
      |                ^~~~
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp: In member function ‘std::optional<std::chrono::duration<long int, std::ratio<1, 1000000000> > > AudioCore::AudioRenderer::SystemManager::ThreadFunc2(s64)’:
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp:151:12: error: ‘struct std::atomic<bool>’ has no member named ‘notify_all’
  151 |     update.notify_all();
      |            ^~~~~~~~~~
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp: In member function ‘void AudioCore::AudioRenderer::SystemManager::PauseCallback(bool)’:
/home/oleg/Загрузки/yuzu-mainline/src/audio_core/renderer/system_manager.cpp:158:16: error: ‘struct std::atomic<bool>’ has no member named ‘notify_all’
  158 |         update.notify_all();
      |                ^~~~~~~~~~
[979/1361] Building CXX object src/audio_core/CMakeFiles/audio_core.dir/renderer/system.cpp.o
ninja: build stopped: subcommand failed.

Workaround: use clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang

OlegAckbar avatar Jul 24 '22 14:07 OlegAckbar

Yuzu needs some features that are only available on gcc-11. We need to update the building guide

german77 avatar Jul 24 '22 14:07 german77

Yuzu needs some features that are only available on gcc-11. We need to update the building guide

Ok, I just tried to compile with gcc-11 and run into this:

[1360/1361] Building CXX object src/yuzu/CMakeFiles/yuzu.dir/main.cpp.o
FAILED: src/yuzu/CMakeFiles/yuzu.dir/main.cpp.o 
/usr/bin/g++-11 -DARCHITECTURE_x86_64=1 -DBOOST_ASIO_DISABLE_CONCEPTS -DBOOST_DATE_TIME_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DFMT_LOCALE -DHAS_OPENGL -DHAVE_SDL2 -DNDEBUG -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_PROCESS_COMBINED_ARGUMENT_START -DQT_NO_URL_CAST_FROM_STRING -DQT_POSITIONING_LIB -DQT_PRINTSUPPORT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK_LIB -DQT_USE_QSTRINGBUILDER -DQT_WEBCHANNEL_LIB -DQT_WEBENGINECORE_LIB -DQT_WEBENGINEWIDGETS_LIB -DQT_WIDGETS_LIB -DXBYAK_NO_OP_NAMES -DYUZU_UNIX=1 -DYUZU_USE_QT_WEB_ENGINE -D_FILE_OFFSET_BITS=64 -I/home/oleg/Загрузки/yuzu-mainline/build/src/yuzu -I/home/oleg/Загрузки/yuzu-mainline/src/yuzu -I/home/oleg/Загрузки/yuzu-mainline/build/src/yuzu/yuzu_autogen/include -I/home/oleg/Загрузки/yuzu-mainline/src/. -I/home/oleg/Загрузки/yuzu-mainline/src/yuzu/../../externals/Vulkan-Headers/include -I/usr/include/x86_64-linux-gnu/qt5/QtGui/5.15.3 -I/usr/include/x86_64-linux-gnu/qt5/QtGui/5.15.3/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore/5.15.3 -I/usr/include/x86_64-linux-gnu/qt5/QtCore/5.15.3/QtCore -I/home/oleg/Загрузки/yuzu-mainline/externals/./microprofile -I/home/oleg/Загрузки/yuzu-mainline/externals/glad/include -I/home/oleg/Загрузки/yuzu-mainline/externals/sirit/src/../include -I/home/oleg/Загрузки/yuzu-mainline/externals/sirit/externals/SPIRV-Headers/include -I/home/oleg/Загрузки/yuzu-mainline/externals/dynarmic/src/dynarmic/.. -I/home/oleg/Загрузки/yuzu-mainline/externals/dynarmic/externals/mcl/src/../include -isystem /usr/include/SDL2 -isystem /home/oleg/Загрузки/yuzu-mainline/build/vcpkg_installed/x64-linux/include -isystem /home/oleg/Загрузки/yuzu-mainline/build/externals/xbyak/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtQmlModels -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebChannel -isystem /usr/include/x86_64-linux-gnu/qt5/QtPositioning -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -O3 -DNDEBUG -Wall -Werror=array-bounds -Werror=implicit-fallthrough -Werror=missing-declarations -Werror=missing-field-initializers -Werror=reorder -Werror=shadow -Werror=sign-compare -Werror=switch -Werror=uninitialized -Werror=unused-function -Werror=unused-result -Werror=unused-variable -Wextra -Wmissing-declarations -Wno-attributes -Wno-invalid-offsetof -Wno-unused-parameter -mcx16 -fPIC -std=gnu++20 -MD -MT src/yuzu/CMakeFiles/yuzu.dir/main.cpp.o -MF src/yuzu/CMakeFiles/yuzu.dir/main.cpp.o.d -o src/yuzu/CMakeFiles/yuzu.dir/main.cpp.o -c '/home/oleg/Загрузки/yuzu-mainline/src/yuzu/main.cpp'
/home/oleg/Загрузки/yuzu-mainline/src/yuzu/main.cpp: In static member function ‘static void GMainWindow::HandleSigInterrupt(int)’:
/home/oleg/Загрузки/yuzu-mainline/src/yuzu/main.cpp:1370:10: error: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
 1370 |     write(sig_interrupt_fds[0], &a, sizeof(a));
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/oleg/Загрузки/yuzu-mainline/src/yuzu/main.cpp: In member function ‘void GMainWindow::OnSigInterruptNotifierActivated()’:
/home/oleg/Загрузки/yuzu-mainline/src/yuzu/main.cpp:1377:9: error: ignoring return value of ‘ssize_t read(int, void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
 1377 |     read(sig_interrupt_fds[1], &a, sizeof(a));
      |     ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
ninja: build stopped: subcommand failed.

OlegAckbar avatar Jul 24 '22 22:07 OlegAckbar

@OlegAckbar I'm seeing the same results as your first post but with gcc-11. See here.

Shoegzer avatar Jul 25 '22 03:07 Shoegzer