Duke4.net Forums: Trouble with Lunatic build on Linux - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Trouble with Lunatic build on Linux  "undefined symbol: engine_main_arrays_are_static"

#1

Linux Mint Petra 64bit, I built with patched lpeg 0.12 linked to the source directory, and the modified as specified luajit 2.0.3 built and installed to /usr/local/. I'm running from where the executable was built.
EDuke32 2.0.0devel r4525 (64-bit)
Compiled Jun 27 2014 23:30:01
Using /home/kyle/installed-sources/eduke32/eduke32/ for game data
Using /home/kyle/.eduke32/ for game data
Initializing SDL system interface (compiled against SDL version 2.0.0, found version 2.0.0)
Using "x11" video driver
Searching for game data...
Using "DUKE3D.GRP" as main game data file.
Using group file "autoload/duke3d_sc55.zip".
Using group file "autoload/duke3d_voxel.zip".
Using group file "autoload/dummy_music.zip".
runtime error: ...d-sources/eduke32/eduke32/source/lunatic/defs_common.lua:320: /usr/local/lib/libluajit-5.1.so.2: undefined symbol: engine_main_arrays_are_static
stack traceback:
	[C]: at 0x00483f70
	[C]: in function '__index'
	...d-sources/eduke32/eduke32/source/lunatic/defs_common.lua:320: in main chunk
	[C]: in function 'require'
	...stalled-sources/eduke32/eduke32/source/lunatic/defs.ilua:78: in main chunk
Lunatic: Error preparing global ELua state (code 4)
Failure setting up Lunatic!

0

User is offline   Hendricks266 

  • Weaponized Autism

  #2

I don't have any suggestions as I can't reproduce this on Windows. Does make veryclean help? What is your make invocation? (BTW, SDL2 has been updated to 2.0.3.)



To Helix:
I'm getting this ebacktrace running Win64 LUNATIC=1 (with a debug-built LuaJIT).

Caught exception 0xE24C4A02 at 0x000007FEFCD8940D: (null)
0x000007FEFCD8940D : C:\Windows\system32\KERNELBASE.dll : RaiseException
0x000000000063C076 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_err.c (443) : in function (err_raise_ext)
0x000000000063C0DC : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_err.c (468) : in function (lj_err_throw)
0x000000000064D838 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_trace.c (48) : in function (lj_trace_err_info)
0x000000000068D080 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_record.c (1901) : in function (lj_record_ins)
0x000000000064FC1E : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_trace.c (590) : in function (trace_state)
0x000000000063ED77 : eduke32.debug.exe : lj_obj.c
0x0000000000650089 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_trace.c (648) : in function (lj_trace_ins)
0x00000000006701AB : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_dispatch.c (404) : in function (lj_dispatch_ins)
0x00000000006403E6 : eduke32.debug.exe : lj_obj.c
0x0000000000638C69 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_api.c (1034) : in function (lua_call)
0x0000000000659A2F : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lib_package.c (432) : in function (lj_cf_package_require)
0x000000000063EA65 : eduke32.debug.exe : lj_obj.c
0x0000000000638C69 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_api.c (1034) : in function (lua_call)
0x0000000000659A2F : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lib_package.c (432) : in function (lj_cf_package_require)
0x000000000063EA65 : eduke32.debug.exe : lj_obj.c
0x0000000000638C69 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_api.c (1034) : in function (lua_call)
0x0000000000659A2F : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lib_package.c (432) : in function (lj_cf_package_require)
0x000000000063EA65 : eduke32.debug.exe : lj_obj.c
0x0000000000638D22 : eduke32.debug.exe : t:\source\{preserve-git}\luajit-2.0\src/lj_api.c (1052) : in function (lua_pcall)
0x0000000000567D37 : eduke32.debug.exe : t:\source\eduke32\polymer\eduke32\build/src/lunatic.c (222) : in function (L_RunString)
0x00000000004275ED : eduke32.debug.exe : T:\source\eduke32\polymer\eduke32/source/game.c (10800) : in function (El_CreateGameState)
0x000000000042775C : eduke32.debug.exe : T:\source\eduke32\polymer\eduke32/source/game.c (10857) : in function (G_Startup)
0x0000000000429689 : eduke32.debug.exe : T:\source\eduke32\polymer\eduke32/source/game.c (11668) : in function (app_main)
0x000000000052C769 : eduke32.debug.exe : t:\source\eduke32\polymer\eduke32\build/src/sdlayer.c (324) : in function (SDL_main)
0x00000000006D468A : eduke32.debug.exe : /Users/slouken/release/SDL/SDL2-2.0.3-source/foo-x64/../src/main/windows/
SDL_windows_main.c (143) : in function (console_main)
0x00000000006D4874 : eduke32.debug.exe : /Users/slouken/release/SDL/SDL2-2.0.3-source/foo-x64/../src/main/windows/
SDL_windows_main.c (63) : in function (ParseCommandLine)
0x00000000004CA7CE : eduke32.debug.exe : t:\source\eduke32\polymer\eduke32\build/src/mingw_main.c (91) : in function (main)
0x00000000004013E5 : eduke32.debug.exe : /home/ruben/mingw-w64/src/mingw-w64/mingw-w64-crt/crt/crtexe.c (317) : in function (__tmainCRTStartup)
0x00000000004014E8 : eduke32.debug.exe : /home/ruben/mingw-w64/src/mingw-w64/mingw-w64-crt/crt/crtexe.c (169) : in function (WinMainCRTStartup)
0x0000000076B459ED : C:\Windows\system32\kernel32.dll : BaseThreadInitThunk
0x0000000076D7C541 : C:\Windows\SYSTEM32\ntdll.dll : RtlUserThreadStart
Tue Jul 08 21:56:58 2014




make LUNATIC=1 CPLUSPLUS=1 also fails due to C++ function name mangling. At some point I'll be restoring #ifdef __cplusplus extern "C" { #endif to the headers to we can avoid this.
0

#3

Ok, veryclean seemed to help, thanks!

Now the menu background is the classic metal one, but it is shrunk and tiled? And is it normal for syntax errors in user scripts to cause "Failure setting up Lunatic!"? Not breaking issues, but a little weird.

Edit: The background thing was due to something I had in autoload, but it worked in the non-lunatic build of the same revision.

This post has been edited by Dr. Kylstein: 10 July 2014 - 05:04 PM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #4

Odd that it's shrunk and tiled unless you set MENU_TILE to 1.

And yes, many modified CONs will fail to run because LunaCON is incomplete.
0

#5

The autoload was including a con file with this:
gamevar MENU_TILE 0 0

onevent EVENT_GETMENUTILE
    setvar RETURN 2456
endevent

and a widescreen version of that background. I can do without the add-on, but it may be a bug.

The script throwing the error was my attempt at "hello world" in lua. I've got it working now, but it seemed like an odd way to handle script errors, especially since it didn't occur until I started a new game.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #6

To Helix:

Gentoo applies the following funky downstream patch to some Lunatic build process stuff that I wanted to make you aware of. I didn't touch it when I brought some things upstream recently.

@@ -458,7 +437,7 @@
 
 #### Lunatic development
 # LuaJIT standalone interpreter executable:
-LUAJIT:=luajit
+LUAJIT:=$(shell command -v luajit || command -v luajit-2 || command -v luajit-2.0)
 # Options to "luajit -b" for synthesis. Since it runs on Linux, we need to tell
 # the native LuaJIT to emit PE object files.
 ifneq ($(SYNTHESIS),0)
@@ -487,7 +466,8 @@
     ifeq ($(PLATFORM),WINDOWS)
         BASELIBS+= -lluajit
     else
-        BASELIBS+= -lluajit-5.1
+        BASECOMMONFLAGS+= $(shell $(PKG_CONFIG) --cflags luajit 2>/dev/null || $(PKG_CONFIG) --cflags luajit-2.0)
+        BASELIBS+= $(shell $(PKG_CONFIG) --libs luajit 2>/dev/null || $(PKG_CONFIG) --libs luajit-2.0)
     endif
 endif


http://sources.gento...1.1&view=markup
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options