wxEuphoria machine level exception
- Posted by Chris Burch <chriscrylex at aol.com> Nov 23, 2004
- 551 views
Hi I have just tested the wxEuphoria installation on linux. I too get the machine level exception on line 56
--extract from wxEuphoria.e --#LINUX wxEuphoria_Platform = LINUX, wxWin_name = getenv("EUDIR") & "/bin/libwx_gtk-2.4.so.0.1.1", wxNEED_BUILD = 2, --#ENDLINUX wxWin = open_dll( wxWin_name ), --#LINUX WX_DLL_BUILD = peek4u(define_c_var(wxWin, "WX_DLL_BUILD")) <<<<line 56 global constant euret = define_c_var( wxWin, "_ZN8wxEuCall5euretE" ), eucall = define_c_proc( wxWin, "_ZN8wxEuCall6eucallEv", {} ), eufunc = define_c_var( wxWin, "_ZN8wxEuCall6eufuncE" ), euparam_count = define_c_var( wxWin, "_ZN8wxEuCall7euparamE" ), eulog = define_c_func( wxWin, "_ZN8wxEuCall5eulogEPKc", {C_POINTER}, C_POINTER), euparam = euparam_count + 4 --#ENDLINUX
experimented with this
wxWin = open_dll( wxWin_name ), if wxWin = 0 then puts(1, "Can't find " & wxWin_name & "\n") abort(0) end if a1 = define_c_var(wxWin, "WX_DLL_BUILD") printf(1, "%d %d\n", {wxWin, a1) WX_DLL_BUILD = peek4u(a1)
1st - couldn't open libwx_gtk-2.4.so.0.1.1 (aborted)- the lib is in the bin directory, and the paths are set correctly (echo $EUDIR) 2nd - moved that copy of libwx_gtk-2.4.so.0.1.1 to /usr/lib and ran ldconfig, modified wxEuphoria to specify the lib with no path - same result. 3rd - downloaded wxgtk 2.4.2 rpm from www.wxwidgets.org, and installed that, again keeping the no path specified. Different result. The lib is opened, but there is no WX_DLL_BUILD in that library (there is in the original one, both checked with an nm dump) So far its a good lib for windows, but can't get it to run on Linux. Any other ideas. Couple of extra points. Your libraries (so far only wxEuphoria) are platform specific - can you make them non-specific - ie the eu includes will run on Linux or windows unmodified, just detecting to os internally, and loading the appropriate libs. Currently, wxEuphoria looks for libwx_gtk-2.4.so.0.1.1 in a very specific place. If you package an app, and give it to someone else, including the library, then the program won't work, as you don't have the same directory structure. Perhaps it could be made to be less choosy in its location (~/ or ./) ? Chris http://members.aol.com/chriscrylex/euphoria.htm http://uboard.proboards32.com/