hedgewars-0.9.21.1: undefined reference to symbol 'PHYSFS_readBytes'
Sat, 2015-05-16 23:47
Hello,
I am on Slackware 14.1 (Linux 32 bits).
I got a problem when compiling hedgewars-0.9.21.1: undefined reference to symbol 'PHYSFS_readBytes'.
The full output :
-- The C compiler identification is GNU 4.8.2 -- The CXX compiler identification is GNU 4.8.2 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Building 0.9.21-r10765 (31c744824dab) -- Performing Test HAVE_STACKPROTECTOR -- Performing Test HAVE_STACKPROTECTOR - Success -- Performing Test HAVE_VISIBILITY -- Performing Test HAVE_VISIBILITY - Success -- Performing Test HAVE_NOEXECSTACK -- Performing Test HAVE_NOEXECSTACK - Success -- Performing Test HAVE_ORIGIN -- Performing Test HAVE_ORIGIN - Success -- Performing Test HAVE_RELROFULL -- Performing Test HAVE_RELROFULL - Success -- Performing Test HAVE_ASNEEDED -- Performing Test HAVE_ASNEEDED - Success -- Using RELEASE configuration -- Found GHC: /usr/bin/ghc -- Looking for mask in Control.Exception -- Looking for mask in Control.Exception - found -- Looking for size in Data.Map -- Looking for size in Data.Map - found -- Looking for length in Data.Vector -- Looking for length in Data.Vector - found -- Looking for pack in Data.ByteString -- Looking for pack in Data.ByteString - found -- Looking for putDigit in Text.Show.ByteString -- Looking for putDigit in Text.Show.ByteString - found -- Looking for getHostName in Network.BSD -- Looking for getHostName in Network.BSD - found -- Looking for getCurrentTime in Data.Time -- Looking for getCurrentTime in Data.Time - found -- Looking for fix in Control.Monad.State -- Looking for fix in Control.Monad.State - found -- Looking for encode in Codec.Binary.Base64 -- Looking for encode in Codec.Binary.Base64 - found -- Looking for warningM in System.Log.Logger -- Looking for warningM in System.Log.Logger - found -- Looking for createProcess in System.Process -- Looking for createProcess in System.Process - found -- Looking for decode in Data.ByteString.Lazy.UTF8 -- Looking for decode in Data.ByteString.Lazy.UTF8 - found -- Looking for sha1 in Data.Digest.Pure.SHA -- Looking for sha1 in Data.Digest.Pure.SHA - found -- Looking for openHandle in System.Entropy -- Looking for openHandle in System.Entropy - found -- Looking for decompress in Codec.Compression.Zlib -- Looking for decompress in Codec.Compression.Zlib - found -- Looking for getStdGen in System.Random -- Looking for getStdGen in System.Random - found -- Found Lua: /usr/lib/liblua.so -- Found PhysFS: /usr/lib/libphysfs.so -- Found PkgConfig: /usr/bin/pkg-config (found version "0.25") -- checking for module 'libavcodec' -- found libavcodec, version 54.92.100 -- checking for module 'libavformat' -- found libavformat, version 54.63.104 -- checking for module 'libavutil' -- found libavutil, version 52.18.100 -- Found LIBAV: /usr/lib/libavcodec.so -- Looking for include file pthread.h -- Looking for include file pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found SDL_image: /usr/lib/libSDL_image.so (found version "1.2.12") -- Found SDL_net: /usr/lib/libSDL_net.so (found version "1.2.8") -- Found SDL_ttf: /usr/lib/libSDL_ttf.so (found version "2.0.11") -- Found SDL_mixer: /usr/lib/libSDL_mixer.so (found version "1.2.12") -- Check for working Pascal compiler: /usr/bin/fpc -- Check for working Pascal compiler: /usr/bin/fpc -- works -- Found GLUT: /usr/lib/libglut.so -- Found ZLIB: /usr/lib/libz.so (found version "1.2.8") -- Found PNG: /usr/lib/libpng.so (found version "1.4.12") -- Looking for Mix_Init in /usr/lib/libSDL_mixer.so -- Looking for Mix_Init in /usr/lib/libSDL_mixer.so - found -- Looking for IMG_Init in /usr/lib/libSDL_image.so -- Looking for IMG_Init in /usr/lib/libSDL_image.so - found -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found -- Found Qt4: /usr/bin/qmake (found suitable version "4.8.5", minimum required is "4.7.0") -- Found Qt4: /usr/bin/qmake (found version "4.8.5") -- Configuring done -- Generating done -- Build files have been written to: /tmp/build/hedgewars-src-0.9.21 Scanning dependencies of target hedgewars-server [ 0%] Generating ../bin/hedgewars-server [ 1 of 25] Compiling Consts ( Consts.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Consts.o ) [ 2 of 25] Compiling Store ( Store.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Store.o ) [ 3 of 25] Compiling Data.TConfig ( Data/TConfig.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Data/TConfig.o ) [ 4 of 25] Compiling JoinsMonitor ( JoinsMonitor.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/JoinsMonitor.o ) [ 5 of 25] Compiling RoomsAndClients ( RoomsAndClients.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/RoomsAndClients.o ) [ 6 of 25] Compiling CoreTypes ( CoreTypes.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/CoreTypes.o ) [ 7 of 25] Compiling OfficialServer.DBInteraction ( OfficialServer/DBInteraction.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/OfficialServer/DBInteraction.o ) [ 8 of 25] Compiling ServerState ( ServerState.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/ServerState.o ) [ 9 of 25] Compiling Utils ( Utils.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Utils.o ) [10 of 25] Compiling NetRoutines ( NetRoutines.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/NetRoutines.o ) [11 of 25] Compiling ClientIO ( ClientIO.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/ClientIO.o ) [12 of 25] Compiling ConfigFile ( ConfigFile.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/ConfigFile.o ) [13 of 25] Compiling EngineInteraction ( EngineInteraction.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/EngineInteraction.o ) [14 of 25] Compiling FloodDetection ( FloodDetection.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/FloodDetection.o ) [15 of 25] Compiling HandlerUtils ( HandlerUtils.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/HandlerUtils.o ) [16 of 25] Compiling Votes ( Votes.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Votes.o ) [17 of 25] Compiling HWProtoNEState ( HWProtoNEState.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/HWProtoNEState.o ) [18 of 25] Compiling HWProtoLobbyState ( HWProtoLobbyState.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/HWProtoLobbyState.o ) [19 of 25] Compiling HWProtoInRoomState ( HWProtoInRoomState.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/HWProtoInRoomState.o ) [20 of 25] Compiling HWProtoChecker ( HWProtoChecker.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/HWProtoChecker.o ) [21 of 25] Compiling HWProtoCore ( HWProtoCore.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/HWProtoCore.o ) [22 of 25] Compiling Actions ( Actions.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Actions.o ) [23 of 25] Compiling ServerCore ( ServerCore.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/ServerCore.o ) [24 of 25] Compiling Opts ( Opts.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Opts.o ) [25 of 25] Compiling Main ( /tmp/build/hedgewars-src-0.9.21/gameServer/hedgewars-server.hs, /tmp/build/hedgewars-src-0.9.21/gameServer/Main.o ) Linking /tmp/build/hedgewars-src-0.9.21/bin/hedgewars-server ... [ 0%] Built target hedgewars-server Scanning dependencies of target physlayer [ 0%] Building C object misc/libphyslayer/CMakeFiles/physlayer.dir/physfscompat.c.o [ 0%] Building C object misc/libphyslayer/CMakeFiles/physlayer.dir/physfsrwops.c.o [ 1%] Building C object misc/libphyslayer/CMakeFiles/physlayer.dir/physfslualoader.c.o [ 1%] Building C object misc/libphyslayer/CMakeFiles/physlayer.dir/hwpacksmounter.c.o Linking C shared library ../../bin/libphyslayer.so [ 1%] Built target physlayer Scanning dependencies of target avwrapper [ 1%] Building C object hedgewars/avwrapper/CMakeFiles/avwrapper.dir/avwrapper.c.o Linking C shared library ../../bin/libavwrapper.so [ 1%] Built target avwrapper Scanning dependencies of target hwengine [ 2%] Building Pascal object hedgewars/CMakeFiles/hwengine.dir/hwengine.o uLandGraphics.pas(404,10) Hint: Mixing signed expressions and longwords gives a 64bit result uLandGraphics.pas(405,26) Hint: Mixing signed expressions and longwords gives a 64bit result uLandGraphics.pas(648,12) Hint: Mixing signed expressions and longwords gives a 64bit result uLandGraphics.pas(648,29) Hint: Mixing signed expressions and longwords gives a 64bit result uLandGraphics.pas(650,17) Hint: Mixing signed expressions and longwords gives a 64bit result uLandGraphics.pas(650,35) Hint: Mixing signed expressions and longwords gives a 64bit result uVisualGearsHandlers.pas(173,27) Hint: Converting the operands to "Int64" before doing the subtract could prevent overflow errors. uGearsRender.pas(180,21) Hint: Mixing signed expressions and longwords gives a 64bit result uTeams.pas(652,14) Hint: Mixing signed expressions and longwords gives a 64bit result uTeams.pas(654,10) Hint: Mixing signed expressions and longwords gives a 64bit result uTeams.pas(695,14) Hint: Mixing signed expressions and longwords gives a 64bit result uTeams.pas(697,10) Hint: Mixing signed expressions and longwords gives a 64bit result uTeams.pas(734,9) Hint: Mixing signed expressions and longwords gives a 64bit result uScript.pas(1060,7) Hint: Mixing signed expressions and longwords gives a 64bit result uLandOutline.pas(256,36) Hint: Mixing signed expressions and longwords gives a 64bit result uLandUtils.pas(84,25) Hint: Converting the operands to "Int64" before doing the add could prevent overflow errors. uLandGenPerlin.pas(136,7) Hint: Converting the operands to "Int64" before doing the multiply could prevent overflow errors. Linking Pascal executable ../bin/hwengine Linking /tmp/build/hedgewars-src-0.9.21/bin/hwengine /usr/bin/ld: warning: /tmp/build/hedgewars-src-0.9.21/bin/link.res contains output sections; did you forget -T? /usr/bin/ld: /tmp/build/hedgewars-src-0.9.21/hedgewars/CMakeFiles/hwengine.dir/uPhysFSLayer.o: undefined reference to symbol 'PHYSFS_readBytes' /usr/bin/ld: note: 'PHYSFS_readBytes' is defined in DSO /usr/lib//libhwphysfs.so.1 so try adding it to the linker command line /usr/lib//libhwphysfs.so.1: could not read symbols: Invalid operation An error occurred while linking /tmp/build/hedgewars-src-0.9.21/bin/hwengine make[2]: *** [bin/hwengine] Error 1 make[1]: *** [hedgewars/CMakeFiles/hwengine.dir/all] Error 2 make: *** [all] Error 2
This problem happens with hedgewars-src-0.9.21.1 but not with hedgewars-src-0.9.20.5.
It seems to be related to physfs so let me tell you that I have physfs-2.0.3.
The missing function is here: http://icculus.org/physfs/docs-devel/html/physfs_8h.html#a63ac40ecdb3f9b91e6ee309bdbad0ce8
Any idea why I got this problem?
Thank you.
Best regards.
Found: I need to uninstall the previous hedgewars version installed on my system.
After that, the compilation works fine.
Problem solved.