| Author |
Message
|
| scen |
Posted: Thu 09 Aug 2007 12:28 pm Post subject: Gentoo Linux ebuild for EDGE available |
|
|

Joined: 09 Aug 2007 Posts: 28 Location: Padova, Italy
|
Hello to everybody!
This is my first message on this forum
I'm a Doom fan from several years, and now that i'm also an enthusiastic Linux user, i try as much as possible to play it on this wonderful OS
Currently i'm using Gentoo Linux, and i've created an ebuild that permits to install EDGE on this distribution.
You can find it on Gentoo Bugzilla.
It's the first attempt to write an ebuild for this game, feel free to improve it! Anyway, give me some feedback in case of errors or similar issues!
Bye  |
|
| Back to top |
|
 |
| andrewj |
Posted: Thu 09 Aug 2007 1:13 pm Post subject: |
|
|

Joined: 05 May 2007 Posts: 590 Location: Tasmania
|
Well I'm not a Gentoo user so I can't try it personally, but I think this is very cool
You have used the 'release' target which is only meant to build a statically-linked binary. Did you just want an optimised build? Perhaps a new target like 'optimised' would be a better way to go (for future releases). |
|
| Back to top |
|
 |
| scen |
Posted: Mon 19 Nov 2007 11:39 pm Post subject: |
|
|

Joined: 09 Aug 2007 Posts: 28 Location: Padova, Italy
|
|
| Back to top |
|
 |
| hungerfish |
Posted: Sat 14 Jun 2008 10:30 pm Post subject: svn won't build!? |
|
|

Joined: 02 Sep 2007 Posts: 69
|
I've recently switched over to gentoo linux, and as such wanted to rebuild edge. I've done so successfully before (using debian) with no problems (the 131 version).
Now using gentoo, I cannot get edge to build. I'm guessing that this is somehow related as to where gentoo places its libs and so on.
I've tried 'manually' and using the ebuild.
What I get is:
| Code: |
g++ -o gledge32 -Wl,--warn-common -Wl,-rpath,/usr/lib64/fltk-1.1 main.o -Lsrc -Lddf -Ltimidity -Lepi -Ldeh_edge -Llua/src -L/usr/lib64/fltk-1.1 -Llinux_lib/glew-1.4/lib -ledge1 -lddf -ltimidity -lepi -lglbsp -ldehedge -llua -lpng -ljpeg -lz -lXft -lm -lXext -lX11 -lfltk -lfltk_images -lSDL -lpthread -lGLEW -lGL -lvorbisfile -lvorbis -logg
src/libedge1.a(l_lua.o): In function `PL_main_ammo':
/var/tmp/portage/games-fps/edge-9999/work/edge-9999/src/l_lua.cc:1206: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_cur_weapon_slot':
/var/tmp/portage/games-fps/edge-9999/work/edge-9999/src/l_lua.cc:1094: undefined reference to `lua_pushinteger(lua_State*, long)'
...
collect2: ld returned 1 exit status
scons: *** [gledge32] Error 1 |
So although I've installed lua, scons doesn't seem to find it.
I've also tried placing the lua source inside the edge source folder, without success.
Any ideas? I don't know much about scons, I've tried mucking around with the SConstruct file, but well...  _________________ Call Apogee, Say "Aardwolf"! |
|
| Back to top |
|
 |
| scen |
Posted: Tue 17 Jun 2008 9:50 pm Post subject: |
|
|

Joined: 09 Aug 2007 Posts: 28 Location: Padova, Italy
|
Hi hungerfish, i've seen also your post on Gentoo Bugzilla
I'll look into this issue asap (the fix couldn't be hard to apply, i suppose ) |
|
| Back to top |
|
 |
| andrewj |
Posted: Wed 18 Jun 2008 4:26 am Post subject: |
|
|

Joined: 05 May 2007 Posts: 590 Location: Tasmania
|
EDGE code (in SVN) has a new dependency: Lua-5.1.2
The SConstruct file is missing a config check to set the have_lua_h variable. That's probably all that is needed. |
|
| Back to top |
|
 |
| hungerfish |
Posted: Wed 18 Jun 2008 2:34 pm Post subject: |
|
|

Joined: 02 Sep 2007 Posts: 69
|
You mean like so:
| Code: |
if conf.CheckCXXHeader('lua.h'):
have_lua_h = 1
env.Append(CCFLAGS = ['-DHAVE_LUA_H']) |
I tried that, it didn't work...
| Code: |
scons: Reading SConscript files ...
Checking for C++ header file glbsp.h... yes
Checking for C++ header file lua.h... yes
... |
I have lua 5.1.3-r3 and glbsp2.24 (pulled in through scen's ebuild) _________________ Call Apogee, Say "Aardwolf"! |
|
| Back to top |
|
 |
| hungerfish |
Posted: Tue 15 Jul 2008 8:34 pm Post subject: |
|
|

Joined: 02 Sep 2007 Posts: 69
|
Well I've been trying this on and off, since the first time I posted, and it still wont build
I've tried a-lot more mucking around with the scons script, but I cant't get it done. Any ideas? _________________ Call Apogee, Say "Aardwolf"! |
|
| Back to top |
|
 |
| andrewj |
Posted: Wed 16 Jul 2008 3:17 am Post subject: |
|
|

Joined: 05 May 2007 Posts: 590 Location: Tasmania
|
We need more detail on what goes wrong.
You can save the output messages like this:
| Code: |
script BUILDLOG
scons
exit
|
Then copy and paste the last part of the BUILDLOG file (with the error message) here. |
|
| Back to top |
|
 |
| hungerfish |
Posted: Wed 16 Jul 2008 4:45 am Post subject: very long post... |
|
|

Joined: 02 Sep 2007 Posts: 69
|
Happens when using release= true aswell as when building the 'debug' version. As the ebuild syncs against svn, it also doesn't matter if scons get invoked through emerge or if one calls it 'manually', like I've done here...
Ok, it breaks on the last call to g++ ( I think):
| Code: |
g++ -o gledge32 -Wl,--warn-common main.o -Lsrc -Lddf -Ltimidity -Lepi -Lglbsp -Ldeh_edge -Llinux_lib/lua-5.1.3/src -Llinux_lib/glew-1.5/lib -ledge1 -lddf -ltimidity -lepi -lglbsp -ldehedge -llua -lpng -ljpeg -lz -lSDL -lpthread -lGLEW -lGL -lvorbisfile -lvorbis -logg
src/libedge1.a(l_lua.o): In function `PL_main_ammo':
/home/tom/edge/src/l_lua.cc:1227: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_cur_weapon_slot':
/home/tom/edge/src/l_lua.cc:1115: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_frags':
/home/tom/edge/src/l_lua.cc:913: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_num_players':
/home/tom/edge/src/l_lua.cc:818: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_clip_is_shared':
/home/tom/edge/src/l_lua.cc:1346: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_is_using':
/home/tom/edge/src/l_lua.cc:995: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_is_grinning':
/home/tom/edge/src/l_lua.cc:986: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_is_rampaging':
/home/tom/edge/src/l_lua.cc:977: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_is_attacking':
/home/tom/edge/src/l_lua.cc:968: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o):/home/tom/edge/src/l_lua.cc:958: more undefined references to `lua_pushboolean(lua_State*, int)' follow
src/libedge1.a(l_lua.o): In function `FrameSetup':
/home/tom/edge/src/l_lua.cc:96: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:98: undefined reference to `lua_pushinteger(lua_State*, long)'
/home/tom/edge/src/l_lua.cc:99: undefined reference to `lua_setfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:101: undefined reference to `lua_pushboolean(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:102: undefined reference to `lua_setfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:104: undefined reference to `lua_pushinteger(lua_State*, long)'
/home/tom/edge/src/l_lua.cc:105: undefined reference to `lua_setfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:107: undefined reference to `lua_pushinteger(lua_State*, long)'
/home/tom/edge/src/l_lua.cc:108: undefined reference to `lua_setfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:110: undefined reference to `lua_settop(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `LU_RunHud()':
/home/tom/edge/src/l_lua.cc:1643: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:1645: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1648: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:1649: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:1651: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1656: undefined reference to `lua_pcall(lua_State*, int, int, int)'
/home/tom/edge/src/l_lua.cc:1659: undefined reference to `lua_tolstring(lua_State*, int, unsigned long*)'
/home/tom/edge/src/l_lua.cc:1665: undefined reference to `lua_settop(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `LU_LoadScripts()':
/home/tom/edge/src/l_lua.cc:1609: undefined reference to `luaL_loadbuffer(lua_State*, char const*, unsigned long, char const*)'
/home/tom/edge/src/l_lua.cc:1612: undefined reference to `lua_pcall(lua_State*, int, int, int)'
/home/tom/edge/src/l_lua.cc:1616: undefined reference to `lua_tolstring(lua_State*, int, unsigned long*)'
src/libedge1.a(l_lua.o): In function `LU_Close()':
/home/tom/edge/src/l_lua.cc:1576: undefined reference to `lua_close(lua_State*)'
src/libedge1.a(l_lua.o): In function `LU_Init()':
/home/tom/edge/src/l_lua.cc:1558: undefined reference to `luaL_newstate()'
/home/tom/edge/src/l_lua.cc:1563: undefined reference to `lua_cpcall(lua_State*, int (*)(lua_State*), void*)'
src/libedge1.a(l_lua.o): In function `PL_hurt_dir':
/home/tom/edge/src/l_lua.cc:1402: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_hurt_angle':
/home/tom/edge/src/l_lua.cc:1429: undefined reference to `lua_pushnumber(lua_State*, double)'
src/libedge1.a(l_lua.o): In function `PL_hurt_pain':
/home/tom/edge/src/l_lua.cc:1374: undefined reference to `lua_pushnumber(lua_State*, double)'
src/libedge1.a(l_lua.o): In function `PL_air_in_lungs':
/home/tom/edge/src/l_lua.cc:1015: undefined reference to `lua_pushnumber(lua_State*, double)'
/home/tom/edge/src/l_lua.cc:1024: undefined reference to `lua_pushnumber(lua_State*, double)'
src/libedge1.a(l_lua.o): In function `PL_move_speed':
/home/tom/edge/src/l_lua.cc:1004: undefined reference to `lua_pushnumber(lua_State*, double)'
src/libedge1.a(l_lua.o): In function `PL_hurt_by':
/home/tom/edge/src/l_lua.cc:1360: undefined reference to `lua_pushstring(lua_State*, char const*)'
/home/tom/edge/src/l_lua.cc:1365: undefined reference to `lua_pushstring(lua_State*, char const*)'
src/libedge1.a(l_lua.o): In function `PL_get_name':
/home/tom/edge/src/l_lua.cc:868: undefined reference to `lua_pushstring(lua_State*, char const*)'
src/libedge1.a(l_lua.o): In function `HD_map_title':
/home/tom/edge/src/l_lua.cc:314: undefined reference to `lua_pushstring(lua_State*, char const*)'
src/libedge1.a(l_lua.o): In function `HD_map_name':
/home/tom/edge/src/l_lua.cc:305: undefined reference to `lua_pushstring(lua_State*, char const*)'
src/libedge1.a(l_lua.o):/home/tom/edge/src/l_lua.cc:279: more undefined references to `lua_pushstring(lua_State*, char const*)' follow
src/libedge1.a(l_lua.o): In function `PL_clip_size':
/home/tom/edge/src/l_lua.cc:1311: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1327: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_clip_ammo':
/home/tom/edge/src/l_lua.cc:1286: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1302: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_ammo_pershot':
/home/tom/edge/src/l_lua.cc:1261: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1277: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_ammo_type':
/home/tom/edge/src/l_lua.cc:1236: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1252: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_ammomax':
/home/tom/edge/src/l_lua.cc:1187: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1194: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_ammo':
/home/tom/edge/src/l_lua.cc:1171: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1178: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_has_weapon_slot':
/home/tom/edge/src/l_lua.cc:1094: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1101: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_power_left':
/home/tom/edge/src/l_lua.cc:1073: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1085: undefined reference to `lua_pushnumber(lua_State*, double)'
src/libedge1.a(l_lua.o): In function `PL_has_power':
/home/tom/edge/src/l_lua.cc:1051: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1064: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_has_key':
/home/tom/edge/src/l_lua.cc:1033: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:1042: undefined reference to `lua_pushboolean(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `PL_set_who':
/home/tom/edge/src/l_lua.cc:827: undefined reference to `luaL_checkinteger(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_coord_sys':
/home/tom/edge/src/l_lua.cc:261: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:262: undefined reference to `luaL_checkinteger(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_text_font':
/home/tom/edge/src/l_lua.cc:323: undefined reference to `luaL_checklstring(lua_State*, int, unsigned long*)'
src/libedge1.a(l_lua.o): In function `PL_total_armor':
/home/tom/edge/src/l_lua.cc:904: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_armor':
/home/tom/edge/src/l_lua.cc:888: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:895: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `PL_health':
/home/tom/edge/src/l_lua.cc:879: undefined reference to `lua_pushinteger(lua_State*, long)'
src/libedge1.a(l_lua.o): In function `HD_set_alpha':
/home/tom/edge/src/l_lua.cc:378: undefined reference to `luaL_checknumber(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_set_scale':
/home/tom/edge/src/l_lua.cc:365: undefined reference to `luaL_checknumber(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `ParseAutomapOptions':
/home/tom/edge/src/l_lua.cc:653: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:655: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:657: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:663: undefined reference to `lua_settop(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:679: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:681: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:683: undefined reference to `lua_toboolean(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:689: undefined reference to `lua_settop(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_render_automap':
/home/tom/edge/src/l_lua.cc:698: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:699: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:700: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:701: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:711: undefined reference to `lua_type(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_render_world':
/home/tom/edge/src/l_lua.cc:637: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:638: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:639: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:640: undefined reference to `luaL_checknumber(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_draw_num2':
/home/tom/edge/src/l_lua.cc:591: undefined reference to `luaL_checknumber(lua_State*, int)'
src/libedge1.a(l_lua.o):/home/tom/edge/src/l_lua.cc:592: more undefined references to `luaL_checknumber(lua_State*, int)' follow
src/libedge1.a(l_lua.o): In function `HD_draw_num2':
/home/tom/edge/src/l_lua.cc:594: undefined reference to `luaL_checkinteger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:595: undefined reference to `luaL_checkinteger(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_draw_text':
/home/tom/edge/src/l_lua.cc:576: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:577: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:579: undefined reference to `luaL_checklstring(lua_State*, int, unsigned long*)'
src/libedge1.a(l_lua.o): In function `HD_tile_image':
/home/tom/edge/src/l_lua.cc:532: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:533: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:534: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:535: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:537: undefined reference to `luaL_checklstring(lua_State*, int, unsigned long*)'
/home/tom/edge/src/l_lua.cc:542: undefined reference to `lua_isnumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:543: undefined reference to `lua_tonumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:545: undefined reference to `lua_isnumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:546: undefined reference to `lua_tonumber(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_stretch_image':
/home/tom/edge/src/l_lua.cc:506: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:507: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:508: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:509: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:511: undefined reference to `luaL_checklstring(lua_State*, int, unsigned long*)'
src/libedge1.a(l_lua.o): In function `HD_draw_image':
/home/tom/edge/src/l_lua.cc:473: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:474: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:476: undefined reference to `luaL_checklstring(lua_State*, int, unsigned long*)'
src/libedge1.a(l_lua.o): In function `ParseColor':
/home/tom/edge/src/l_lua.cc:199: undefined reference to `lua_isstring(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:201: undefined reference to `lua_tolstring(lua_State*, int, unsigned long*)'
/home/tom/edge/src/l_lua.cc:209: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:214: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:215: undefined reference to `lua_isnumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:217: undefined reference to `lua_tointeger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:219: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:220: undefined reference to `lua_isnumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:222: undefined reference to `lua_tointeger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:224: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:225: undefined reference to `lua_isnumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:227: undefined reference to `lua_tointeger(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:229: undefined reference to `lua_settop(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_gradient_box':
/home/tom/edge/src/l_lua.cc:448: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:449: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:450: undefined reference to `luaL_checknumber(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:451: undefined reference to `luaL_checknumber(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_thin_box':
/home/tom/edge/src/l_lua.cc:428: undefined reference to `luaL_checknumber(lua_State*, int)'
src/libedge1.a(l_lua.o):/home/tom/edge/src/l_lua.cc:429: more undefined references to `luaL_checknumber(lua_State*, int)' follow
src/libedge1.a(l_lua.o): In function `HD_automap_colors':
/home/tom/edge/src/l_lua.cc:753: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:758: undefined reference to `lua_getfield(lua_State*, int, char const*)'
/home/tom/edge/src/l_lua.cc:760: undefined reference to `lua_type(lua_State*, int)'
/home/tom/edge/src/l_lua.cc:765: undefined reference to `lua_settop(lua_State*, int)'
src/libedge1.a(l_lua.o): In function `HD_text_color':
/home/tom/edge/src/l_lua.cc:341: undefined reference to `luaL_checklstring(lua_State*, int, unsigned long*)'
src/libedge1.a(l_lua.o): In function `HD_raw_debug_print':
/home/tom/edge/src/l_lua.cc:243: undefined reference to `lua_gettop(lua_State*)'
/home/tom/edge/src/l_lua.cc:2 |
Note the lua version in
| Code: |
| -Llinux_lib/lua-5.1.3 |
refers to a local copy of lua I added to the build tree. Also newer fltk and glew.
But believe me, I can take all that out, and use just whats in svn, I get the same darn problems with lua.I can use 5.1.2 exactly, no difference
This is the line for l_lua.cc:
| Code: |
| g++ -o src/l_lua.o -c -Wall -O -g3 -DLINUX -DUSE_OGG -ffast-math -DDEVELOPERS -D_GNU_SOURCE=1 -D_REENTRANT -Ilinux_lib/lua-5.1.2/src -I/usr/include/SDL -Ilinux_lib/glew-1.5/include -I. src/l_lua.cc |
No problems there...
Now I'm off to bed!! _________________ Call Apogee, Say "Aardwolf"! |
|
| Back to top |
|
 |
| andrewj |
Posted: Thu 17 Jul 2008 4:12 am Post subject: |
|
|

Joined: 05 May 2007 Posts: 590 Location: Tasmania
|
Seems like your local copy of Lua has not been built, there should be a liblua.a file in linux_lib/lua-5.1.3/src.
If the GNU linker wasn't a piece of shit, then it would notice the -llua library was not found and abort the linking with a single error message. But I digress.....
I have updated the SConstruct and i_luainc.h files to handle system-wide Lua better, but haven't tested it yet. |
|
| Back to top |
|
 |
| hungerfish |
Posted: Thu 17 Jul 2008 12:55 pm Post subject: |
|
|

Joined: 02 Sep 2007 Posts: 69
|
No, liblua.a was built. I made sure of that...
I've tested your update, and it stll wont work.
I've also tried forcing it to use a local copy for lua, aswell as just using system wide, it still wont link.  _________________ Call Apogee, Say "Aardwolf"! |
|
| Back to top |
|
 |
| andrewj |
Posted: Fri 18 Jul 2008 12:44 pm Post subject: |
|
|

Joined: 05 May 2007 Posts: 590 Location: Tasmania
|
SNAP! I just remembered something important.
Lua MUST be compiled with g++ and not gcc. That's because it needs to use special C++ exception stuff for handling errors properly.
That explains your missing symbols, the linker is looking for C++ mangled symbol names instead of normal C symbol names (or vice versa).
Because any system-wide Lua will be C compiled (not C++), I have disabled all support for using a system-wide Lua library. |
|
| Back to top |
|
 |
| hungerfish |
Posted: Fri 18 Jul 2008 2:11 pm Post subject: |
|
|

Joined: 02 Sep 2007 Posts: 69
|
Yeahhy, that did the trick
It builds fine now after I rebuilt lua5.1.3 with g++ as compiler!!
Both 'developer' and 'release' targets.
Btw. I kept getting messages about the depracted 'Copy' method from Scons. I've changed all occurrences in the multiple sconssrcipts to use 'Clone', and still it works, so I guess you could update that...
For anyone else interested in building lua with g++, change
to
in
| Code: |
| edge/linux_lib/lua-5.1.3/src/Makefile |
Obviously you'll need to have the lua sources there.
I've also used new versions of glew(1.5) and fltk(1.1.9)
Both lib's sources need to be present in edge/linux_lib
With fltk, I needed a link edge/FL->edge/linux_lib/fltk-1.19/FL to make it work. _________________ Call Apogee, Say "Aardwolf"! |
|
| Back to top |
|
 |
|
|
|