2009/7/23 John Labenski <jlaben...@gmail.com> > On Wed, Jul 22, 2009 at 4:31 PM, "Cédric Floquet > (GMail)"<cedric.floq...@gmail.com> wrote: > > > The Lua src in wxLua/modules/lua/src is the source from the Lua 5.1.4 > tar.gz.
Ok, then, it's the latest version. > > 2. Since i wanted to control the wxWidgets version used, i downloaded > > the source (2.8.10), configured and compiled it, without installing it. > > It worked, but i must admit i'm not sure about the configure options i > > should use that could have a (positive or negative) influence on step > > This is what I use for wxWidgets, for better or for worse. > > ... > > This should handle creating the monolithic wx.so module regardless of > the other settings, I think. > configure --enable-monolithic-luamodule Here are the configure options I used: wxWidgets (GTK): --enable-shared \ --enable-monolithic \ --enable-unicode wxLua: --enable-monolithic-luamodule \ --enable-unicode \ --enable-shared \ --with-wxdir=../../wxGTK-2.8.10/ced_build \ --enable-systemlua=yes \ --with-lua-prefix=/home/cedric/src/lua/lua_bin \ LIBS=-ldl The LIBS part is mandatory on Ubuntu 9.04, otherwise there are unresolved symbols dlsym, dlopen, ... when compiling an "external" vanilla Lua. > > > 3. I downloaded the wxLua source code, configured it so it would find my > > "system" Lua (the one i downloaded, not the Ubuntu packaged one). This > > works. I also configured it to find the custom compiled wxWidgets > > directories. This works too. The part i'm not sure about is the same as > > for wxWidgets, i.e. the shared option, the luamodule and > > monolithic-luamodule options, etc. The only way i manage to get wx.so > > built is by enabling the shared option. That's ok, but when i try to put > > the resulting lib/wx.so in my lua bin directory from step 1., then > > require "wx", it complains about missing "sub libs" that wx.so depends > > upon. I thought that "shared" was to create a wx.so, but that monolithic > > would make it independent from anything else. > > I'll have to look into how "monolithic" we can actually make it. You > absolutely have to link to the Lua shared lib, but it might be > possible to compile wxWidgets statically to allow the wxLua module to > incorporate the wxWidgets libraries. If you compile wxWidgets as a > shared lib, then no, it cannot be incorporated into wx.so and will be > a dependence. Well, the lua lib is only one file, and I include it in my archive (or it could be present on the user system if he has Lua 5.1.4 installed), so this should not be a problem. As for wxWidgets, if I compile it statically, then I can't use "shared" when compiling wxLua, which in turn means no wx.so is created. But maybe I'm missing something. > > I did find a bug in the configure generated modules/Makefile. > > Look for these statements and notice that I removed the $(WXLUA_LIBS) > from it. The real fix goes into the Bakefiles, but I have to verify > that it's Ok to do that for the MSW builds. > > ../lib/$(DLLPREFIX_MODULE)wx.$(SO_SUFFIX_MODULE): > $(MOD_LUAMODULE_MONO_OBJECTS) > $(SHARED_LD_MODULE_CXX) $@ $(MOD_LUAMODULE_MONO_OBJECTS) $(LDFLAGS) > -L$(top_builddir)/lib -L$(LUA_LIB_DIR) $(LIBS) $(WX_LIBS) > #$(WXLUA_LIBS) <-- remove this from the line above Ok, i'll try that next, then answer back. > > > > True, when i run ldd on wx.so, the missing libs are mentioned. On the > > other hand, a pre-compiled wx.so like the one in Lua All in One shows no > > such dependencies, so there must be a way... > > What libs are missing for you (see below) and I wonder what the All in > One folks are doing? These ones are missing: libwxlua_gtk2u_wxbindxrc-2.8.so.0 => not found libwxlua_gtk2u_wxbindrichtext-2.8.so.0 => not found libwxlua_gtk2u_wxbindhtml-2.8.so.0 => not found libwxlua_gtk2u_wxbindaui-2.8.so.0 => not found libwxlua_gtk2u_wxbindadv-2.8.so.0 => not found libwxlua_gtk2u_wxbindxml-2.8.so.0 => not found libwxlua_gtk2u_wxbindnet-2.8.so.0 => not found libwxlua_gtk2u_wxbindcore-2.8.so.0 => not found libwxlua_gtk2u_wxbindbase-2.8.so.0 => not found libwxlua_gtk2u_wxluasocket-2.8.so.0 => not found libwxlua_gtk2u_wxluadebug-2.8.so.0 => not found libwxlua_gtk2u_wxlua-2.8.so.0 => not found These are the ones that can be found in the /lib dir of wxLua after the compilation, along with the wx.so file, so it makes sense in a way. I don't know what the Lua AIO folks are doing... Maybe they "join" libs together in one file ? (don't know if that is possible) > > If you have unresolved lib dependencies, as seen using ldd, you can > add search paths like this. > $export LD_LIBRARY_PATH=/path/to/the/wxLua/libs Yes, when I define this variable, the missing libs are found. The thing is, I'd like to package only one lib file (wx.so) instead of many (with very long and cryptic names). > > > Hope this helps, > John Thanks for your answer. Cédric
------------------------------------------------------------------------------
_______________________________________________ wxlua-users mailing list wxlua-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxlua-users