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

Reply via email to