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;
|