Bug 1987493

Summary: game-music-emu: FTBFS in Fedora rawhide/f35
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: SDL2Assignee: Igor Raits <igor.raits>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: dchen, igor.raits, kvolny, moez.roy, ppisar, redhat-bugzilla, spotrh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-01-11 02:24:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1927309, 1992484    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2021-07-29 15:01:20 UTC
game-music-emu failed to build from source in Fedora rawhide/f35

https://koji.fedoraproject.org/koji/taskinfo?taskID=72348349


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Please fix game-music-emu at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
game-music-emu will be orphaned. Before branching of Fedora 36,
game-music-emu will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2021-07-29 15:01:27 UTC
Created attachment 1807518 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2021-07-29 15:01:30 UTC
Created attachment 1807519 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2021-07-29 15:01:32 UTC
Created attachment 1807520 [details]
state.log

Comment 4 Karel Volný 2021-07-30 09:15:33 UTC
I believe this is related to 1967205

@Petr: please could you take a look what happened to the header file?

the package uses SDL2 since ages, the player configures with 'find_package(SDL2)' macro which obviously works as during build it reports

 ** SDL 2 library located, player demo is available to be built in the /player directory

Comment 5 Petr Pisar 2021-07-30 10:08:52 UTC
You are right that game-music-emu uses SDL2. But you are not right that it relates to bug #1967205. Bug #1967205 was about SDL1. If you inspect build roots, you will see that SDL1 has never been installed. It's not my business. If you had enabled <https://koschei.fedoraproject.org/package/game-music-emu> before, now your would have an easier life.

Comment 6 Petr Pisar 2021-07-30 10:17:14 UTC
The old compiler command:

cd /builddir/build/BUILD/game-music-emu-0.6.3/ppc64le-redhat-linux-gnu/player && /usr/bin/g++ -DLIBGME_VISIBILITY -I/usr/include/SDL2 -I/builddir/build/BUILD/game-music-emu-0.6.3/player -I/builddir/build/BUILD/game-music-emu-0.6.3 -I/builddir/build/BUILD/game-music-emu-0.6.3/gme -I/builddir/build/BUILD/game-music-emu-0.6.3/ppc64le-redhat-linux-gnu/gme -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -Wall -W -Wextra -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fwrapv -fsanitize=undefined -o CMakeFiles/gme_player.dir/Music_Player.cpp.o -c /builddir/build/BUILD/game-music-emu-0.6.3/player/Music_Player.cpp

The new compiler command:

cd /builddir/build/BUILD/game-music-emu-0.6.3/redhat-linux-build/player && /usr/bin/g++ -DLIBGME_VISIBILITY -I/builddir/build/BUILD/game-music-emu-0.6.3/player -I/builddir/build/BUILD/game-music-emu-0.6.3 -I/builddir/build/BUILD/game-music-emu-0.6.3/gme -I/builddir/build/BUILD/game-music-emu-0.6.3/redhat-linux-build/gme -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -Wall -W -Wextra -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fwrapv -fsanitize=undefined -MD -MT player/CMakeFiles/gme_player.dir/Music_Player.cpp.o -MF CMakeFiles/gme_player.dir/Music_Player.cpp.o.d -o CMakeFiles/gme_player.dir/Music_Player.cpp.o -c /builddir/build/BUILD/game-music-emu-0.6.3/player/Music_Player.cpp

Obviously, -I/usr/include/SDL2 disappeared. I recommend you debugging CMake build script.

Comment 7 Karel Volný 2021-07-30 10:32:22 UTC
(In reply to Petr Pisar from comment #5)
> But you are not right that it relates to bug #1967205. Bug #1967205 was about SDL1.

well, I understood that as SDL2 is now responsible for providing SDL1 interface, so I had suspected some SDL2 files shuffling around

sorry for the wild guess and thanks for looking anyways

Comment 8 Karel Volný 2021-07-30 11:11:24 UTC
reassigning to SDL2 -

the includedir mentioned in comment #6 is set in CMakeLists.txt via this command:

    include_directories(${SDL2_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}
        "${CMAKE_HOME_DIRECTORY}" "${CMAKE_HOME_DIRECTORY}/gme"
        "${CMAKE_BINARY_DIR}/gme")

now the ${SDL2_INCLUDE_DIRS} is set by the "find_package(SDL2)" call

looking into /usr/lib64/cmake/ the file providing the package config is SDL2/sdl2-config.cmake which comes from SDL2-devel

on my system (SDL2-devel-2.0.14-3.fc34.x86_64) the file includes a line which sets the appropriate variable:

set(SDL2_INCLUDE_DIRS "/usr/include/SDL2")

however, looking at what's in rawhide, the version SDL2-devel-2.0.14-6.fc35.x86_64.rpm no longer includes this file, it replaces it with SDL2Config.cmake instead

this file doesn't set anything, it only includes SDL2Targets.cmake

but the file SDL2Targets.cmake does not set the SDL2_INCLUDE_DIRS variable

Comment 9 Ben Cotton 2021-08-10 13:19:03 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle.
Changing version to 35.

Comment 10 Fedora Update System 2022-01-09 00:37:53 UTC
FEDORA-2022-f7608fd649 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-f7608fd649

Comment 11 Fedora Update System 2022-01-10 01:46:22 UTC
FEDORA-2022-f7608fd649 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-f7608fd649`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-f7608fd649

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2022-01-11 02:24:14 UTC
FEDORA-2022-f7608fd649 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.