Re: [Fxruby-users] FXRuby cries about acquireSelection
Status: Inactive
Brought to you by:
lyle
From: Vlada <su...@ce...> - 2003-11-26 22:30:25
|
> >FXRuby 1.0.27 > >fox 1.0.46 > > > >Compilation goes well in both. > > OK. > > >----------- > >irb(main):001:0> require 'fox' > > > >LoadError: /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so: > > <snip> > > What output do you get if you type: > > ldd /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so > > at the shell prompt? > ok ... there is no problem with "didn't find library". It does find all the libraries, but it seems not enough. There is some strange problem with unknown symbols. But ok I'll satisfy you with ldd: ------------- ldd /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so libFOX-1.0.so.0 => /usr/local/lib/libFOX-1.0.so.0 (0x40659000) libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x40918000) libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x4098b000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x409f2000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40aad000) libtiff.so.3 => /usr/lib/libtiff.so.3 (0x40aba000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40afe000) libz.so.1 => /lib/libz.so.1 (0x40b1b000) libpng.so.2 => /usr/lib/libpng.so.2 (0x40b28000) libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40b54000) libdl.so.2 => /lib/libdl.so.2 (0x40b9d000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x40ba0000) libm.so.6 => /lib/libm.so.6 (0x40bce000) libc.so.6 => /lib/libc.so.6 (0x40bef000) libstdc++.so.5 => /usr/lib/i686/libstdc++.so.5 (0x40cff000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40db6000) libpthread.so.0 => /lib/libpthread.so.0 (0x40dbd000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) ------------- and now once again the previous data. ----------- irb(main):001:0> require 'fox' LoadError: /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so: undefined symbol: acquireSelection__8FXWindowPCUiUi - /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so from /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so from (irb):1 -------------- nm /usr/local/lib/ruby/site_ruby/1.8/i686-linux/fox.so | grep acquireS 0019b32c T FXWindow_acquireSelection__FP8FXWindowUl 001c05f8 t _wrap_FXWindow_acquireSelection__FiPUlUl U acquireSelection__8FXWindowPCUiUi U acquireSelection__8FXWindowPCUlUi -------------- nm /usr/local/lib/libFOX-1.0.so.0 | grep acquireS 00209480 T acquireSelection__8FXWindowPCUlUi ------------- The first is errormessage from irb. It says that acq...blabla...UiUi is unknown symbol. Listing from those shared libraries clearly says, that this unknown symbol is very similar to acq...blabla...UlUi I don't know if this similarity is key to solution, but it's strange isn't it ? I had one more idea from last time. And it was nm *.o like this: ruby install.rb setup cd ext/fox /x/my/r/FX/ext/fox 0> nm *.o | grep acq 00003974 T FXWindow_acquireClipboard__FP8FXWindowUl 000037dc T FXWindow_acquireSelection__FP8FXWindowUl 00028c98 t _wrap_FXWindow_acquireClipboard__FiPUlUl 00028aa8 t _wrap_FXWindow_acquireSelection__FiPUlUl U acquireClipboard__8FXWindowPCUlUi U acquireSelection__8FXWindowPCUlUi /x/my/r/FX/ext/fox 0> nm *.so | grep acq 0019b4c4 T FXWindow_acquireClipboard__FP8FXWindowUl 0019b32c T FXWindow_acquireSelection__FP8FXWindowUl 001c07e8 t _wrap_FXWindow_acquireClipboard__FiPUlUl 001c05f8 t _wrap_FXWindow_acquireSelection__FiPUlUl U acquireClipboard__8FXWindowPCUiUi U acquireClipboard__8FXWindowPCUlUi U acquireSelection__8FXWindowPCUiUi U acquireSelection__8FXWindowPCUlUi This means that this unknown symbol wasn't present in the *.o but somehow it appear during the linking phase. The linking command on my system was: gcc -shared -L"/usr/local/lib" -L"/usr/local/lib" -L"/usr/X11R6/lib" -o fox.so librb.o core_wrap.o dc_wrap.o dialogs_wrap.o frames_wrap.o FXRbApp.o FXRbDataTarget.o FXRbGLViewer.o FXRuby.o iconlist_wrap.o icons_wrap.o image_wrap.o impl.o label_wrap.o layout_wrap.o list_wrap.o markfuncs.o mdi_wrap.o menu_wrap.o opengl_wrap.o scintilla_wrap.o table_wrap.o text_wrap.o treelist_wrap.o ui_wrap.o -lfxscintilla -lFOX -lGLU -lGL -lX11 -lXext -ltiff -ljpeg -lz -lpng -lstdc++ -ldl -lcrypt -lm -lc gcc --version says 2.95.4 I'm not experienced enough to say if this is correct, but it doesn't seem bad to me at least. Ha, I got it !!!! The fxscintilla was anouncing those unknown symbols. And because I havn't used it, i didn't even now that i compiled/installed it in some ancient time. Recompilation of fxscintilla against fox1.0.27 solved the problem. Vlada -- signed long mail; |