From: Francesco M. <f18...@ya...> - 2006-01-20 18:49:58
|
Hi, John Labenski ha scritto: > On 1/20/06, Francesco Montorsi <f18...@ya...> wrote: > >>make[1]: Entering directory `/home/frm/work/wxLua/modules/wxlua/src' >>g++ -shared -o /usr/local/lib/libwx_gtk2ud_wxlua-2.7.so.1.5.0 internal.o >>wxlbind.o wxlcallb.o wxlintrp.o wxlstate.o >>/usr/bin/ld: internal.o: relocation R_X86_64_32 against `a local symbol' >>can not be used when making a shared object; recompile with -fPIC >>internal.o: could not read symbols: Bad value >>collect2: ld returned 1 exit status >>make[1]: *** [/usr/local/lib/libwx_gtk2ud_wxlua-2.7.so.1.5.0] Error 1 >>make[1]: Leaving directory `/home/frm/work/wxLua/modules/wxlua/src' >>make: *** [wxLuaLib] Error 2 >>frm@genius:~/work/wxLua/apps/wxlua/src$ >> >>And this did not work with both a static and a shared build of wxWidgets. >> >>Last, I searched for the unresolved linker symbols: i.e. >>s_wxluatag_wxWindow, s_wxluatag_wxBitmap, s_wxluatag_wxEvtHandler, >>s_wxluatag_wxEvent and I found that they are all declared as extern >>symbols at the beginning of some CPP files (like wxlstate.cpp) but then >>they are not defined anywhere. >> >>How did you manage to compile these sources ? >>Do I have to run some bind generator ? >>Or you have some un-committed sources in your local copy ? > > > You have to run make in bindings/wxwidgets to generate the bindings in > modules/wxbind/. This is because of the number of changes being made > to the binding generator. grr; I always forgot about that step. Could we commit the generated bindings in CVS ? We also really need some way to: 1) produce luasetup.h from luasetup.h.in (maybe adding 'wx' prefix to both as we discussed time ago): I had to manually change it to exclude the contrib wx headers which I do not have installed and wxFontMapper (see point #3) 2) fix warnings about non-existing symbols (I get ton of messages like: ./modules/wxbind/include/wxbind.h:127:6: warning: "wxUSE_WAVE" is not defined ./../modules/wxbind/include/wxbind.h:328:5: warning: "wxLUA_USE_wxCriticalSection" is not defined ./../modules/wxbind/include/wxbind.h:506:5: warning: "wxLUA_USE_wxCriticalSectionLocker" is not defined ./../modules/wxbind/include/wxbind.h:919:5: warning: "wxLUA_USE_wxCriticalSectionLocker" is not defined ./../modules/wxbind/include/wxbind.h:1038:6: warning: "wxUSE_WAVE" is not defined ... ) 3) now compilation stops on my file: ./wxbind/src/gdi.cpp:2289: error: ‘class wxFontMapper’ has no member named ‘SetConfig’ this is probably because I use wxCVS. I see in gdi.i: %class %noclassinfo wxFontMapper .... void SetConfig(wxConfigBase *config = NULL) ... %endclass can something like %class %noclassinfo wxFontMapper .... #if !wxCHECK_VERSION(2, 7, 0) void SetConfig(wxConfigBase *config = NULL) #endif ... %endclass be written ? 4) disabling wxFontMapper I now get all the errors in the attached log. This is because I'm on a 64bit machine. Is wxbind/src/wx_class.cpp something automatically generated ? If yes, the wxlua wrapper generator should be changed to output (long) casts instead of (int) ones... Thanks, Francesco Montorsi |