Rpcs3: Current master fails to compile on Linux

Created on 11 Dec 2020  Â·  6Comments  Â·  Source: RPCS3/rpcs3

Compiling from source, fresh (as in empty, rm -rf) build dir:

[2032/2154] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o
FAILED: rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o 
/usr/bin/g++  -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DHAVE_FAUDIO -DHAVE_LIBEVDEV -DHAVE_PULSE -DHAVE_VULKAN -DHAVE_X11 -DLLVM_AVAILABLE -DNDEBUG -DVK_USE_PLATFORM_WAYLAND_KHR -DWC_NO_HARDEN -I../rpcs3 -I../ -I../3rdparty/yaml-cpp/include -I../3rdparty/flatbuffers/include -I../3rdparty/pugixml/src -I../3rdparty/span/include -I../3rdparty/FAudio/src -I../3rdparty/FAudio/include -I/usr/include/SDL2 -I/usr/include/AL -I../3rdparty/stblib -I../llvm/include -I3rdparty/llvm_build/include -I../asmjit/src -I../3rdparty/cereal/include -I../3rdparty/GL -I../Vulkan/glslang/SPIRV/.. -Iinclude -I../Vulkan/spirv-tools/include -I../Vulkan/spirv-headers/include -I../3rdparty/libusb_cmake/../libusb/libusb -I../3rdparty/wolfssl -I../3rdparty/xxHash/cmake_unofficial/.. -I../3rdparty/xxHash -isystem /usr/include/libevdev-1.0 -O3 -fno-lto -fexceptions -ffast-math -fstrict-aliasing -Wl,--exclude-libs,ALL -O3 -DNDEBUG   -pthread -Wall -fno-exceptions -ftemplate-depth=1024 -msse -msse2 -mcx16 -Werror=old-style-cast -Werror=sign-compare -Werror=reorder -Wno-unused-variable -Wno-unknown-pragmas -Wno-invalid-offsetof -Wno-unused-function -Wno-attributes -Wno-comment -Wno-maybe-uninitialized -Wno-strict-aliasing -Wno-unused-but-set-variable -Wno-class-memaccess -march=native -std=gnu++2a -MD -MT rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o -MF rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o.d -o rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o -c ../rpcs3/Emu/RSX/VK/VKMemAlloc.cpp
../rpcs3/Emu/RSX/VK/VKMemAlloc.cpp:7:33: error: ‘bool std::__atomic_base<_IntTp>::compare_exchange(std::__atomic_base<_IntTp>::__int_type&, std::__atomic_base<_IntTp>::__int_type, std::memory_order, std::memory_order)’ cannot be overloaded with ‘bool std::__atomic_base<_IntTp>::compare_exchange(std::__atomic_base<_IntTp>::__int_type&, std::__atomic_base<_IntTp>::__int_type, std::memory_order, std::memory_order)’
    7 | #define compare_exchange_strong compare_exchange
      |                                 ^~~~~~~~~~~~~~~~

Compile settings:

cmake .. \
    -GNinja \
    -DCMAKE_INSTALL_PREFIX='/usr' \
    -DUSE_NATIVE_INSTRUCTIONS='ON'\
    -DUSE_SYSTEM_LIBPNG='ON' \
    -DUSE_SYSTEM_FFMPEG='ON' \
    -DWITH_LLVM='ON' \
    -DBUILD_LLVM_SUBMODULE='ON' \
    -DUSE_ALSA='OFF' \
    -DUSE_DISCORD_RPC='OFF' \
    -DUSE_PRECOMPILED_HEADERS='OFF' \
    -DCMAKE_BUILD_TYPE='Release'

gcc version 10.2.0 (Gentoo 10.2.0-r3 p4)

on commit 12a48fc6d13b5146e06675ab967d56763a6e7227 (HEAD -> master, origin/master, origin/HEAD)

Linux

Most helpful comment

Compiles with https://github.com/RPCS3/rpcs3/commit/1283c272b3f8b12d8d9fd3fe746f296c8a1c2f61

[1589/1589] Linking CXX executable bin/rpcs3
~/src/rpcs3
[ arab: ~/src/rpcs3 (pr-9416) ]$ git rev-parse --verify HEAD
1283c272b3f8b12d8d9fd3fe746f296c8a1c2f61

All 6 comments

Test compiling with #9416

It failed again:

[2032/2154] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o
FAILED: rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o 
/usr/bin/g++  -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DHAVE_FAUDIO -DHAVE_LIBEVDEV -DHAVE_PULSE -DHAVE_VULKAN -DHAVE_X11 -DLLVM_AVAILABLE -DNDEBUG -DVK_USE_PLATFORM_WAYLAND_KHR -DWC_NO_HARDEN -I../rpcs3 -I../ -I../3rdparty/yaml-cpp/include -I../3rdparty/flatbuffers/include -I../3rdparty/pugixml/src -I../3rdparty/span/include -I../3rdparty/FAudio/src -I../3rdparty/FAudio/include -I/usr/include/SDL2 -I/usr/include/AL -I../3rdparty/stblib -I../llvm/include -I3rdparty/llvm_build/include -I../asmjit/src -I../3rdparty/cereal/include -I../3rdparty/GL -I../Vulkan/glslang/SPIRV/.. -Iinclude -I../Vulkan/spirv-tools/include -I../Vulkan/spirv-headers/include -I../3rdparty/libusb_cmake/../libusb/libusb -I../3rdparty/wolfssl -I../3rdparty/xxHash/cmake_unofficial/.. -I../3rdparty/xxHash -isystem /usr/include/libevdev-1.0 -O3 -fno-lto -fexceptions -ffast-math -fstrict-aliasing -Wl,--exclude-libs,ALL -O3 -DNDEBUG   -pthread -Wall -fno-exceptions -ftemplate-depth=1024 -msse -msse2 -mcx16 -Werror=old-style-cast -Werror=sign-compare -Werror=reorder -Wno-unused-variable -Wno-unknown-pragmas -Wno-invalid-offsetof -Wno-unused-function -Wno-attributes -Wno-comment -Wno-maybe-uninitialized -Wno-strict-aliasing -Wno-unused-but-set-variable -Wno-class-memaccess -march=native -std=gnu++2a -MD -MT rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o -MF rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o.d -o rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/VK/VKMemAlloc.cpp.o -c ../rpcs3/Emu/RSX/VK/VKMemAlloc.cpp
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/stop_token: In member function ‘void std::stop_token::binary_semaphore::acquire()’:
../rpcs3/Emu/RSX/VK/VKMemAlloc.cpp:10:31: error: ‘struct std::atomic<int>’ has no member named ‘compare_exchange’; did you mean ‘compare_exchange_weak’?
   10 | #define compare_exchange_weak compare_exchange
      |                               ^~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/stop_token: In member function ‘bool std::stop_token::_Stop_state_t::_M_do_try_lock(std::stop_token::_Stop_state_t::value_type&, std::stop_token::_Stop_state_t::value_type, std::memory_order, std::memory_order)’:
../rpcs3/Emu/RSX/VK/VKMemAlloc.cpp:10:31: error: ‘struct std::atomic<unsigned int>’ has no member named ‘compare_exchange’; did you mean ‘compare_exchange_weak’?
   10 | #define compare_exchange_weak compare_exchange
      |                               ^~~~~~~~~~~~~~~~
[2061/2154] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/RSX/rsx_methods.cpp.o
ninja: build stopped: subcommand failed.
~/src/rpcs3/build
[ arab: ~/src/rpcs3/build (pr-9416) ]$ git status
On branch pr-9416
nothing to commit, working tree clean
[ arab: ~/src/rpcs3/build (pr-9416) ]$ git rev-parse --verify HEAD
29686902adfd0c27a315ede86a3938862713fa29

No worries, we'll get around that

Compiles with https://github.com/RPCS3/rpcs3/commit/1283c272b3f8b12d8d9fd3fe746f296c8a1c2f61

[1589/1589] Linking CXX executable bin/rpcs3
~/src/rpcs3
[ arab: ~/src/rpcs3 (pr-9416) ]$ git rev-parse --verify HEAD
1283c272b3f8b12d8d9fd3fe746f296c8a1c2f61

Can you check latest commit in PR as well?

Can you check latest commit in PR as well?

Works as well:

[395/395] Linking CXX executable bin/rpcs3
~/src/rpcs3
[ arab: ~/src/rpcs3 (pr-9416) ]$ git rev-parse HEAD
a32b6d90ec466711224c1a2c6e52d0bfe55ea20b
Was this page helpful?
0 / 5 - 0 ratings

Related issues

legend800 picture legend800  Â·  3Comments

Nezarn picture Nezarn  Â·  3Comments

AniLeo picture AniLeo  Â·  3Comments

On1ko picture On1ko  Â·  3Comments

kurosh10000 picture kurosh10000  Â·  3Comments