Build problems on Fedora 15
Tue, 2011-10-04 20:15
I'm building HW on fedora, and I'm getting some cmake errors. Here's a pase:
-- Building Release CMake Error at cmake_modules/FindSDL_Extras.cmake:29 (math): math cannot parse the expression: "*10000 + *100 + ": syntax error, unexpected exp_TIMES, expecting exp_OPENPARENT or exp_NUMBER (1) Call Stack (most recent call first): hedgewars/CMakeLists.txt:8 (include) CMake Error at cmake_modules/FindSDL_Extras.cmake:46 (math): math cannot parse the expression: "*10000 + *100 + ": syntax error, unexpected exp_TIMES, expecting exp_OPENPARENT or exp_NUMBER (1) Call Stack (most recent call first): hedgewars/CMakeLists.txt:8 (include) -- Freepascal version installed: 2.4 -- Configuring incomplete, errors occurred!
As you can see, it appears to be a syntax error in FindSDL_Extras.cmake Here's the line(s) in question:
math(EXPR sdlimage_version "${sdlimage_majorversion}*10000 + ${sdlimage_minorversion}*100 + ${sdlimage_patchversion}")
It's having trouble with one of the *. Any suggestions?
EDIT:
I fixed the problem, I'm having trouble with make, though. Here's an output at pastebin. It seems as though I'm missing libs.
CACP Founder
"Free Pascal Compiler version 2.4.4 [2011/04/22] for i386
Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Linux for i386"
"/usr/bin/ld: skipping incompatible /usr/lib64/libpthread.so when searching for -lpthread
/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: skipping incompatible /usr/lib64/libSDL.so when searching for -lSDL
/usr/bin/ld: cannot find -lSDL
/usr/bin/ld: skipping incompatible /usr/lib64/libSDL_ttf.so when searching for -lSDL_ttf
/usr/bin/ld: cannot find -lSDL_ttf
/usr/bin/ld: skipping incompatible /usr/lib64/libSDL_mixer.so when searching for -lSDL_mixer
/usr/bin/ld: cannot find -lSDL_mixer
/usr/bin/ld: skipping incompatible /usr/lib64/libSDL_image.so when searching for -lSDL_image
/usr/bin/ld: cannot find -lSDL_image
/usr/bin/ld: skipping incompatible /usr/lib64/libSDL_net.so when searching for -lSDL_net
/usr/bin/ld: cannot find -lSDL_net
/usr/bin/ld: skipping incompatible /usr/lib64/libdl.so when searching for -ldl
/usr/bin/ld: cannot find -ldl
/usr/bin/ld: skipping incompatible /usr/lib64/liblua-5.1.so when searching for -llua-5.1
/usr/bin/ld: cannot find -llua-5.1
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: cannot find -lc"
-- you seem to use a 32 bit compiler with 64 bit libs, maybe that's the problem.
you could try to get fpc for x86_64 instead I guess
I had a friend at another forum suggest that too, do you know where I could get them?
CACP Founder
UPDATE:
I've managed to get it past the cmake bit, but now it's snagging on the make part. Here's a pastebin. (Sorry I couldn't put it here, the site was trying to replace some parenthesis with images) Look at the last 5 orso lines for where the error is.
This appears to be where on of the "links" went wrong. The function "UKEYS_INITKEYTABLE" seems to be the culprit. It's trying to link to "SDL_GetKeyboardState," which is undefined. The file seems to be uKeys.pas and uKeys.o. Of course, uKeys.pas is non existant. The only files are uKeys.pps and uKeys.o. They both contain cryptic chineese characters...
Well, the next logical place to go would be hwengine.o. It turns out to be the same as uKeys.o. Losing hope, I then noticed this file: link.res. I decide to check that out, and, Lo' and Behold, it lists what I presume to be commands for everything that's been going on (that's outputted to the screen when I make it.) My question at this point: what is link.res, and how should I deal with this? Here's a paste of it at Pastebin.
CACP Founder