Giter Club home page Giter Club logo

Comments (12)

stefanbeller avatar stefanbeller commented on May 16, 2024

I think in CMakeList.txt around line 14 there is

  set(CMAKE_LD_FLAGS "-fwhole-program")

This could be extended to tell cmake to generate proper Makefiles.

from flare-game.

DAP-DarkneSS avatar DAP-DarkneSS commented on May 16, 2024

I failed with cmake file patching ( https://build.opensuse.org/package/view_file?file=fix-opensuse-gcc46.patch&package=flare&project=home%3ADarkSS ) and export LDFLAGS="$LDFLAGS -lm" and I got:

[ 277s] [100%] Building CXX object CMakeFiles/flare.dir/src/main.cpp.o
[ 277s] /usr/bin/c++ -DDATA_INSTALL_DIR="/usr/share/games/flare" -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wextra -Wunused -Wshadow -Woverloaded-virtual -Wunreachable-code -fno-math-errno -fno-exceptions -fno-enforce-eh-specs -O2 -g -flto -I/usr/include/SDL -o CMakeFiles/flare.dir/src/main.cpp.o -c /home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/src/main.cpp
[ 278s] Linking CXX executable flare
[ 278s] /usr/bin/cmake -E cmake_link_script CMakeFiles/flare.dir/link.txt --verbose=1
[ 278s] /usr/bin/c++ -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wextra -Wunused -Wshadow -Woverloaded-virtual -Wunreachable-code -fno-math-errno -fno-exceptions -fno-enforce-eh-specs -O2 -g -flto -lm CMakeFiles/flare.dir/src/Entity.cpp.o CMakeFiles/flare.dir/src/Animation.cpp.o CMakeFiles/flare.dir/src/AnimationManager.cpp.o CMakeFiles/flare.dir/src/AnimationSet.cpp.o CMakeFiles/flare.dir/src/AStarNode.cpp.o CMakeFiles/flare.dir/src/Avatar.cpp.o CMakeFiles/flare.dir/src/BehaviorStandard.cpp.o CMakeFiles/flare.dir/src/CampaignManager.cpp.o CMakeFiles/flare.dir/src/CombatText.cpp.o CMakeFiles/flare.dir/src/Enemy.cpp.o CMakeFiles/flare.dir/src/EnemyBehavior.cpp.o CMakeFiles/flare.dir/src/EnemyGroupManager.cpp.o CMakeFiles/flare.dir/src/EnemyManager.cpp.o CMakeFiles/flare.dir/src/FileParser.cpp.o CMakeFiles/flare.dir/src/FontEngine.cpp.o CMakeFiles/flare.dir/src/GameState.cpp.o CMakeFiles/flare.dir/src/GameStateConfig.cpp.o CMakeFiles/flare.dir/src/GameStateTitle.cpp.o CMakeFiles/flare.dir/src/GameStateLoad.cpp.o CMakeFiles/flare.dir/src/GameStatePlay.cpp.o CMakeFiles/flare.dir/src/GameStateNew.cpp.o CMakeFiles/flare.dir/src/GameSwitcher.cpp.o CMakeFiles/flare.dir/src/GetText.cpp.o CMakeFiles/flare.dir/src/Hazard.cpp.o CMakeFiles/flare.dir/src/HazardManager.cpp.o CMakeFiles/flare.dir/src/InputState.cpp.o CMakeFiles/flare.dir/src/ItemManager.cpp.o CMakeFiles/flare.dir/src/ItemStorage.cpp.o CMakeFiles/flare.dir/src/LootManager.cpp.o CMakeFiles/flare.dir/src/MapCollision.cpp.o CMakeFiles/flare.dir/src/MapRenderer.cpp.o CMakeFiles/flare.dir/src/Menu.cpp.o CMakeFiles/flare.dir/src/MenuActionBar.cpp.o CMakeFiles/flare.dir/src/MenuActiveEffects.cpp.o CMakeFiles/flare.dir/src/MenuCharacter.cpp.o CMakeFiles/flare.dir/src/MenuConfirm.cpp.o CMakeFiles/flare.dir/src/MenuEnemy.cpp.o CMakeFiles/flare.dir/src/MenuExit.cpp.o CMakeFiles/flare.dir/src/MenuHUDLog.cpp.o CMakeFiles/flare.dir/src/MenuInventory.cpp.o CMakeFiles/flare.dir/src/MenuItemStorage.cpp.o CMakeFiles/flare.dir/src/MenuLog.cpp.o CMakeFiles/flare.dir/src/MenuManager.cpp.o CMakeFiles/flare.dir/src/MenuMiniMap.cpp.o CMakeFiles/flare.dir/src/MenuPowers.cpp.o CMakeFiles/flare.dir/src/MenuStash.cpp.o CMakeFiles/flare.dir/src/MenuStatBar.cpp.o CMakeFiles/flare.dir/src/MenuTalker.cpp.o CMakeFiles/flare.dir/src/MenuVendor.cpp.o CMakeFiles/flare.dir/src/MessageEngine.cpp.o CMakeFiles/flare.dir/src/ModManager.cpp.o CMakeFiles/flare.dir/src/NPC.cpp.o CMakeFiles/flare.dir/src/NPCManager.cpp.o CMakeFiles/flare.dir/src/PowerManager.cpp.o CMakeFiles/flare.dir/src/QuestLog.cpp.o CMakeFiles/flare.dir/src/SaveLoad.cpp.o CMakeFiles/flare.dir/src/SDL_gfxBlitFunc.c.o CMakeFiles/flare.dir/src/Settings.cpp.o CMakeFiles/flare.dir/src/SharedResources.cpp.o CMakeFiles/flare.dir/src/StatBlock.cpp.o CMakeFiles/flare.dir/src/TileSet.cpp.o CMakeFiles/flare.dir/src/Utils.cpp.o CMakeFiles/flare.dir/src/UtilsDebug.cpp.o CMakeFiles/flare.dir/src/UtilsFileSystem.cpp.o CMakeFiles/flare.dir/src/UtilsParsing.cpp.o CMakeFiles/flare.dir/src/WidgetCheckBox.cpp.o CMakeFiles/flare.dir/src/WidgetButton.cpp.o CMakeFiles/flare.dir/src/WidgetInput.cpp.o CMakeFiles/flare.dir/src/WidgetLabel.cpp.o CMakeFiles/flare.dir/src/WidgetListBox.cpp.o CMakeFiles/flare.dir/src/WidgetScrollBar.cpp.o CMakeFiles/flare.dir/src/WidgetScrollBox.cpp.o CMakeFiles/flare.dir/src/WidgetSlider.cpp.o CMakeFiles/flare.dir/src/WidgetTabControl.cpp.o CMakeFiles/flare.dir/src/WidgetTooltip.cpp.o CMakeFiles/flare.dir/src/main.cpp.o -o flare -rdynamic -fwhole-program -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lSDL -lpthread -lSDL_mixer -lSDL_image -lSDL_ttf -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lSDL -lpthread -lSDL_mixer -lSDL_image -lSDL_ttf
[ 370s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: /tmp/ccSwLOtx.ltrans9.ltrans.o: undefined reference to symbol 'sincosf@@GLIBC_2.1'
[ 370s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: note: 'sincosf@@GLIBC_2.1' is defined in DSO /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so so try adding it to the linker command line
[ 370s] /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so: could not read symbols: Invalid operation
[ 370s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: /tmp/ccSwLOtx.ltrans9.ltrans.o: undefined reference to symbol 'sincosf@@GLIBC_2.1'
[ 370s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: note: 'sincosf@@GLIBC_2.1' is defined in DSO /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so so try adding it to the linker command line
[ 370s] /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so: could not read symbols: Invalid operation
[ 372s] collect2: ld returned 1 exit status
[ 372s] make[2]: *** [flare] Error 1
[ 372s] make[2]: Leaving directory /home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/build' [ 372s] make[1]: *** [CMakeFiles/flare.dir/all] Error 2 [ 372s] make[1]: Leaving directory/home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/build'
[ 372s] make: *** [all] Error 2

Gcc version is 4.6. Glibc version is 2.14. Full build log could be found here: https://build.opensuse.org/package/rawlog?arch=i586&package=flare&project=home%3ADarkSS&repository=openSUSE_12.1
Could you help me to fix it please?

from flare-game.

stefanbeller avatar stefanbeller commented on May 16, 2024

In last line of [ 278s] there is a -lm, but it is not where all the other -lSDL.. are.
So maybe exchanging the order in around line 176 helps.

Target_Link_Libraries (flare ...)

from flare-game.

stefanbeller avatar stefanbeller commented on May 16, 2024
<AmineKhaldi> PjotrOrial: have you tried adding that to the cmake file ?
<AmineKhaldi> Target_Link_Libraries (flare ${CMAKE_LD_FLAGS} ${SDL_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} ${SDLMAIN_LIBRARY}) =>
<AmineKhaldi> Target_Link_Libraries (flare ${CMAKE_LD_FLAGS} ${SDL_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} ${SDLMAIN_LIBRARY} -lm)

from flare-game.

DAP-DarkneSS avatar DAP-DarkneSS commented on May 16, 2024

Full log and patch links are up to date.

[ 134s] [100%] Building CXX object CMakeFiles/flare.dir/src/main.cpp.o
[ 134s] /usr/bin/c++ -DDATA_INSTALL_DIR="/usr/share/games/flare" -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wextra -Wunused -Wshadow -Woverloaded-virtual -Wunreachable-code -fno-math-errno -fno-exceptions -fno-enforce-eh-specs -O2 -g -flto -I/usr/include/SDL -o CMakeFiles/flare.dir/src/main.cpp.o -c /home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/src/main.cpp
[ 135s] Linking CXX executable flare
[ 135s] /usr/bin/cmake -E cmake_link_script CMakeFiles/flare.dir/link.txt --verbose=1
[ 135s] /usr/bin/c++ -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wextra -Wunused -Wshadow -Woverloaded-virtual -Wunreachable-code -fno-math-errno -fno-exceptions -fno-enforce-eh-specs -O2 -g -flto CMakeFiles/flare.dir/src/Entity.cpp.o CMakeFiles/flare.dir/src/Animation.cpp.o CMakeFiles/flare.dir/src/AnimationManager.cpp.o CMakeFiles/flare.dir/src/AnimationSet.cpp.o CMakeFiles/flare.dir/src/AStarNode.cpp.o CMakeFiles/flare.dir/src/Avatar.cpp.o CMakeFiles/flare.dir/src/BehaviorStandard.cpp.o CMakeFiles/flare.dir/src/CampaignManager.cpp.o CMakeFiles/flare.dir/src/CombatText.cpp.o CMakeFiles/flare.dir/src/Enemy.cpp.o CMakeFiles/flare.dir/src/EnemyBehavior.cpp.o CMakeFiles/flare.dir/src/EnemyGroupManager.cpp.o CMakeFiles/flare.dir/src/EnemyManager.cpp.o CMakeFiles/flare.dir/src/FileParser.cpp.o CMakeFiles/flare.dir/src/FontEngine.cpp.o CMakeFiles/flare.dir/src/GameState.cpp.o CMakeFiles/flare.dir/src/GameStateConfig.cpp.o CMakeFiles/flare.dir/src/GameStateTitle.cpp.o CMakeFiles/flare.dir/src/GameStateLoad.cpp.o CMakeFiles/flare.dir/src/GameStatePlay.cpp.o CMakeFiles/flare.dir/src/GameStateNew.cpp.o CMakeFiles/flare.dir/src/GameSwitcher.cpp.o CMakeFiles/flare.dir/src/GetText.cpp.o CMakeFiles/flare.dir/src/Hazard.cpp.o CMakeFiles/flare.dir/src/HazardManager.cpp.o CMakeFiles/flare.dir/src/InputState.cpp.o CMakeFiles/flare.dir/src/ItemManager.cpp.o CMakeFiles/flare.dir/src/ItemStorage.cpp.o CMakeFiles/flare.dir/src/LootManager.cpp.o CMakeFiles/flare.dir/src/MapCollision.cpp.o CMakeFiles/flare.dir/src/MapRenderer.cpp.o CMakeFiles/flare.dir/src/Menu.cpp.o CMakeFiles/flare.dir/src/MenuActionBar.cpp.o CMakeFiles/flare.dir/src/MenuActiveEffects.cpp.o CMakeFiles/flare.dir/src/MenuCharacter.cpp.o CMakeFiles/flare.dir/src/MenuConfirm.cpp.o CMakeFiles/flare.dir/src/MenuEnemy.cpp.o CMakeFiles/flare.dir/src/MenuExit.cpp.o CMakeFiles/flare.dir/src/MenuHUDLog.cpp.o CMakeFiles/flare.dir/src/MenuInventory.cpp.o CMakeFiles/flare.dir/src/MenuItemStorage.cpp.o CMakeFiles/flare.dir/src/MenuLog.cpp.o CMakeFiles/flare.dir/src/MenuManager.cpp.o CMakeFiles/flare.dir/src/MenuMiniMap.cpp.o CMakeFiles/flare.dir/src/MenuPowers.cpp.o CMakeFiles/flare.dir/src/MenuStash.cpp.o CMakeFiles/flare.dir/src/MenuStatBar.cpp.o CMakeFiles/flare.dir/src/MenuTalker.cpp.o CMakeFiles/flare.dir/src/MenuVendor.cpp.o CMakeFiles/flare.dir/src/MessageEngine.cpp.o CMakeFiles/flare.dir/src/ModManager.cpp.o CMakeFiles/flare.dir/src/NPC.cpp.o CMakeFiles/flare.dir/src/NPCManager.cpp.o CMakeFiles/flare.dir/src/PowerManager.cpp.o CMakeFiles/flare.dir/src/QuestLog.cpp.o CMakeFiles/flare.dir/src/SaveLoad.cpp.o CMakeFiles/flare.dir/src/SDL_gfxBlitFunc.c.o CMakeFiles/flare.dir/src/Settings.cpp.o CMakeFiles/flare.dir/src/SharedResources.cpp.o CMakeFiles/flare.dir/src/StatBlock.cpp.o CMakeFiles/flare.dir/src/TileSet.cpp.o CMakeFiles/flare.dir/src/Utils.cpp.o CMakeFiles/flare.dir/src/UtilsDebug.cpp.o CMakeFiles/flare.dir/src/UtilsFileSystem.cpp.o CMakeFiles/flare.dir/src/UtilsParsing.cpp.o CMakeFiles/flare.dir/src/WidgetCheckBox.cpp.o CMakeFiles/flare.dir/src/WidgetButton.cpp.o CMakeFiles/flare.dir/src/WidgetInput.cpp.o CMakeFiles/flare.dir/src/WidgetLabel.cpp.o CMakeFiles/flare.dir/src/WidgetListBox.cpp.o CMakeFiles/flare.dir/src/WidgetScrollBar.cpp.o CMakeFiles/flare.dir/src/WidgetScrollBox.cpp.o CMakeFiles/flare.dir/src/WidgetSlider.cpp.o CMakeFiles/flare.dir/src/WidgetTabControl.cpp.o CMakeFiles/flare.dir/src/WidgetTooltip.cpp.o CMakeFiles/flare.dir/src/main.cpp.o -o flare -rdynamic -fwhole-program -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lSDL -lpthread -lSDL_mixer -lSDL_image -lSDL_ttf -Wl,-Bstatic -lSDLmain -Wl,-Bdynamic -lm -lSDL -lpthread -lSDL_mixer -lSDL_image -lSDL_ttf -lm
[ 177s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: /tmp/ccRMJRam.ltrans9.ltrans.o: undefined reference to symbol 'sincosf@@GLIBC_2.1'
[ 177s] /usr/lib/gcc/i586-suse-linux/4.6/../../../../i586-suse-linux/bin/ld: note: 'sincosf@@GLIBC_2.1' is defined in DSO /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so so try adding it to the linker command line
[ 177s] /usr/lib/gcc/i586-suse-linux/4.6/../../../libm.so: could not read symbols: Invalid operation
[ 177s] collect2: ld returned 1 exit status
[ 177s] make[2]: *** [flare] Error 1
[ 177s] make[2]: Leaving directory /home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/build' [ 177s] make[1]: *** [CMakeFiles/flare.dir/all] Error 2 [ 177s] make[1]: Leaving directory/home/abuild/rpmbuild/BUILD/clintbellanger-flare-game-bed9580/build'
[ 177s] make: *** [all] Error 2

from flare-game.

DAP-DarkneSS avatar DAP-DarkneSS commented on May 16, 2024

There are no problems with gcc != 4.6.

from flare-game.

stefanbeller avatar stefanbeller commented on May 16, 2024

So would it be a problem to use another compiler than gcc-4.6?
Using g++-4.6 in Ubuntu is no problem though.

from flare-game.

DAP-DarkneSS avatar DAP-DarkneSS commented on May 16, 2024

I'm not sure in successful package submiting with not default gcc. But I'll try to do it of course.

from flare-game.

DAP-DarkneSS avatar DAP-DarkneSS commented on May 16, 2024

"-flto" is the trouble maker. Imho it would better not to use it by default.

from flare-game.

clintbellanger avatar clintbellanger commented on May 16, 2024

@DAP-DarkneSS So this entire issue was caused by that -flto flag? If so I will remove it.

from flare-game.

DAP-DarkneSS avatar DAP-DarkneSS commented on May 16, 2024

@clintbellanger Yes. Some versions of lto seem to be buggy. Here it is a patch: https://api.opensuse.org:443/public/source/home:DarkSS/flare/fix-opensuse-12_1-flto.patch

from flare-game.

clintbellanger avatar clintbellanger commented on May 16, 2024

Thanks! I've fixed this in upstream flare-engine. Soon we'll be merging it into flare-game (there will be a new 0.17.1 flag with cumulative fixes).

from flare-game.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.