stefantalpalaru / gentoo-overlay

Gentoo overlay
GNU General Public License v2.0
43 stars 11 forks source link

games-emulation/rpcs3-9999-r4: various build errors #103

Closed q3cpma closed 2 years ago

q3cpma commented 2 years ago

Hello and first of all, thanks a lot for your well maintained overlay.

Trying to emerge said package fails with the following sandbox violation during src_configure:

Cloning into 'ittapi'...
fatal: unable to access 'https://github.com/intel/ittapi.git/': Could not resolve host: github.com
CMake Error at llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt:20 (message):
  git clone https://github.com/intel/ittapi.git failed with 128, please clone
  https://github.com/intel/ittapi.git

A quick search shows it comes from the LLVM submodule (clone done here) and was enabled by https://github.com/RPCS3/rpcs3/commit/d8360332124ea52677b8beaf5d1b89bb2221a3ad Don't know how it should be solved, other than temporarily disabling the sandbox (which isn't a real solution), sorry.

After trying with FEATURES=-network-sandbox, I get another configure error due to missing qtsvg, solved by adding >=dev-qt/qtsvg-5.15.2 to the dependencies.

Even after that, I get:

FAILED: rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Audio/audio_device_listener.cpp.o
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DDATADIR=\"/usr/share/rpcs3\" -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DHAVE_LIBEVDEV -DHAVE_VULKAN -DHAVE_X11 -DLLVM_AVAILABLE -DSOUNDTOUCH_ALLOW_SSE -DSOUNDTOUCH_FLOAT_SAMPLES -DST_NO_EXCEPTION_HANDLING -DUSE_MULTICH_ALWAYS -DWC_NO_HARDEN -I/var/tmp/portage/games-e>
In file included from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/STTypes.h:127,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h:46,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/SoundTouch.h:68,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/rpcs3/Emu/Audio/audio_resampler.h:10,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/rpcs3/Emu/Cell/Modules/cellAudio.h:9,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/rpcs3/Emu/Audio/audio_device_listener.cpp:5:
/var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h: In member function ‘bool soundtouch::FIFOSamplePipe::verifyNumberOfChannels(int) const’:
/var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h:62:27: error: use of old-style cast to ‘const char*’ [-Werror=old-style-cast]
   62 |         ST_THROW_RT_ERROR("Error: Illegal number of channels");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h:62:9: note: in expansion of macro ‘ST_THROW_RT_ERROR’
   62 |         ST_THROW_RT_ERROR("Error: Illegal number of channels");
      |         ^~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
[1683/2135] /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DDATADIR=\"/usr/share/rpcs3\" -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DHAVE_LIBEVDEV -DHAVE_VULKAN -DHAVE_X11 -DLLVM_AVAILABLE -DSOUNDTOUCH_ALLOW_SSE -DSOUNDTOUCH_FLOAT_SAMPLES -DST_NO_EXCEPTION_HANDLING -DUSE_MULTICH_ALWAYS -DWC_NO_HARDEN -I/var/tmp/por>
FAILED: rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Audio/audio_resampler.cpp.o
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DDATADIR=\"/usr/share/rpcs3\" -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DHAVE_LIBEVDEV -DHAVE_VULKAN -DHAVE_X11 -DLLVM_AVAILABLE -DSOUNDTOUCH_ALLOW_SSE -DSOUNDTOUCH_FLOAT_SAMPLES -DST_NO_EXCEPTION_HANDLING -DUSE_MULTICH_ALWAYS -DWC_NO_HARDEN -I/var/tmp/portage/games-e>
In file included from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/STTypes.h:127,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h:46,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/SoundTouch.h:68,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/rpcs3/Emu/Audio/audio_resampler.h:10,
                 from /var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/rpcs3/Emu/Audio/audio_resampler.cpp:2:
/var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h: In member function ‘bool soundtouch::FIFOSamplePipe::verifyNumberOfChannels(int) const’:
/var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h:62:27: error: use of old-style cast to ‘const char*’ [-Werror=old-style-cast]
   62 |         ST_THROW_RT_ERROR("Error: Illegal number of channels");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/games-emulation/rpcs3-9999-r4/work/rpcs3-9999/3rdparty/SoundTouch/soundtouch/include/FIFOSamplePipe.h:62:9: note: in expansion of macro ‘ST_THROW_RT_ERROR’
   62 |         ST_THROW_RT_ERROR("Error: Illegal number of channels");
      |         ^~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors

due to -Werror. Should probably report this one to upstream (EDIT: did so).

Man, Disgaea binging is still far away =).

q3cpma commented 2 years ago

Here's my final ebuild, disabling -Werror because it's obviously not a good idea with devel code (fails at multiple places) and unbundling pugixml. Tried unbundling flatbuffers-2.0.6 too, but it failed with a strange error during configure about empty flatc output.

stefantalpalaru commented 2 years ago

Thanks! Ebuild fixed.

q3cpma commented 2 years ago

How did you fix the LLVM submodule network sandbox violation, though?

stefantalpalaru commented 2 years ago

I'm not getting any violation on my system. You're sure it wasn't just a temporary network issue on your side?

q3cpma commented 2 years ago

You sure you have network-sandbox in your FEATURES?

stefantalpalaru commented 2 years ago

Wait, I had "-network-sandbox" in my FEATURES in "make.conf". The fix is to add RESTRICT="network-sandbox" to the ebuild.

q3cpma commented 2 years ago

Well, more of a workaround, but I understand not wanting to solve that quagmire.