Comments (12)
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.
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.
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.
<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.
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.
There are no problems with gcc != 4.6.
from flare-game.
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.
I'm not sure in successful package submiting with not default gcc. But I'll try to do it of course.
from flare-game.
"-flto" is the trouble maker. Imho it would better not to use it by default.
from flare-game.
@DAP-DarkneSS So this entire issue was caused by that -flto flag? If so I will remove it.
from flare-game.
@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.
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)
- Unique icon artwork for Super and Ultra potions HOT 2
- Goblin Thief should be able to steal all kinds of potions HOT 3
- faster Regen in safe areas HOT 1
- Wandercall assets opened to Flare community
- The "hover"/"selected" state for some buttons should be more pronounced
- Larger Resolution Icons at the same menu / screen / monitor size (e.g. 128x128 icons) HOT 55
- Flare x 4 / FlareHD Light, Is it possible to run all the original art assets of Flare with x 4 the pixel density? HOT 2
- Flare engine is busted for big avatar sprites. HOT 13
- change diaganal movement or tile view angle. HOT 3
- Have you considered publishing on Steam? HOT 19
- Arbitrary element type resistance as a statistic able to be modified by arbitrary primary attributes (also speed stat) HOT 7
- Optimization: Duplicate files being installed HOT 1
- "Sacrifice" status is switched off after a defeat HOT 1
- [Question] Is there any way to update translation of Flare Alpha (not by Pull Request on Github) HOT 4
- Switch left click/right click powers when switching equipment set
- FLARE Error: Could not find the 'default' mod HOT 3
- Thoughts on how to make a better, hidden tutorial
- Add the ability to sit.
- “Japanese”, “Korean”, “Chinese”, “Indonesian” in the language selection should be native names
- Android Flare Engine v1.14 APK showing as version 1.12 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flare-game.