agateau / sfxr-qt

Qt port of SFXR, a sound effect generator, to generate retro-gaming like sound effects.
MIT License
74 stars 13 forks source link

Build failure on Fedora 40 #18

Closed ycollet closed 6 months ago

ycollet commented 6 months ago

I am trying to build sfxr-qt-1.5.0 on Fedora 40. A Qt header is missing:

include in src/ui/SoundPreview.cpp

And a link problem during the build of the tests:

 97%] Linking CXX executable sfxr-qt
cd /home/collette/rpmbuild/BUILD/sfxr-qt/redhat-linux-build/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/sfxr-qt.dir/link.txt --verbose=1
/usr/lib64/ccache/g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes "CMakeFiles/sfxr-qt.dir/sfxr-qt_autogen/mocs_compilation.cpp.o" "CMakeFiles/sfxr-qt.dir/ui/main.cpp.o" "CMakeFiles/sfxr-qt.dir/ui/Generator.cpp.o" "CMakeFiles/sfxr-qt.dir/qrc_qml.cpp.o" -o sfxr-qt  libsfxr-qtlib.a /usr/lib64/libQt5Widgets.so.5.15.12 /usr/lib64/libQt5Quick.so.5.15.12 /usr/lib64/libQt5QmlModels.so.5.15.12 -lSDL /usr/lib64/libQt5Qml.so.5.15.12 /usr/lib64/libQt5Network.so.5.15.12 /usr/lib64/libQt5Concurrent.so.5.15.12 /usr/lib64/libQt5Gui.so.5.15.12 /usr/lib64/libQt5Core.so.5.15.12 
gmake[2]: Leaving directory '/home/collette/rpmbuild/BUILD/sfxr-qt/redhat-linux-build'
[ 97%] Built target sfxr-qt
In file included from /usr/include/signal.h:328,
                 from /home/collette/rpmbuild/BUILD/sfxr-qt/3rdparty/catch2/single_include/catch2/catch.hpp:7712,
                 from /home/collette/rpmbuild/BUILD/sfxr-qt/tests/tests.cpp:7:
/home/collette/rpmbuild/BUILD/sfxr-qt/3rdparty/catch2/single_include/catch2/catch.hpp:10453:58: error: call to non-'constexpr' function 'long int sysconf(int)'
10453 |     static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
      |                                                          ^~~~~~~~~~~
In file included from /usr/include/bits/sigstksz.h:24:
/usr/include/unistd.h:640:17: note: 'long int sysconf(int)' declared here
  640 | extern long int sysconf (int __name) __THROW;
      |                 ^~~~~~~
/home/collette/rpmbuild/BUILD/sfxr-qt/3rdparty/catch2/single_include/catch2/catch.hpp:10512:45: error: size of array 'altStackMem' is not an integral constant-expression
10512 |     char FatalConditionHandler::altStackMem[sigStackSize] = {};
      |                                             ^~~~~~~~~~~~
gmake[2]: *** [tests/CMakeFiles/tests.dir/build.make:93: tests/CMakeFiles/tests.dir/tests.cpp.o] Error 1
gmake[2]: Leaving directory '/home/collette/rpmbuild/BUILD/sfxr-qt/redhat-linux-build'
agateau commented 6 months ago

Hi, sorry for the very late answer: this bug has been fixed in the master branch. I need to release a new version.

ycollet commented 6 months ago

Thanks a lot :) !