why is gdk_font_equal symbol not found in libgtk-x11-2.0.so.0?



hello all,

my investigation of the gtk/eclipse issue that i reported here:
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=177949#c13

lead me to search for previously-installed versions of the gtk and its dependent packages on my solaris 9 sparc sunblade 100. the sunfreeware.com gtk packages that i recently updated were installed to /usr/local/lib. however, a search for "*pango*.so*" revealed previously-installed pkgs in /usr/lib as well (i am assumming these came bundled with the solaris 9 os installation).

as a test, i temporarily moved the pango libraries from /usr/lib and started eclipse. from that test, i determined that eclipse was in fact referencing the older, previously-installed versions of the gtk packages. so in order to make eclipse refer to the most recently updated gtk 2.2.4 packages that i dl'd from sunfreeware.com, i did the following:

  1. export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 
  2. java -Djava.library.path=/usr/local/lib eclipse ...
 
now, eclipse is - without a doubt - referencing the gtk 2.2.4 packages. but, it is now failing to launch and reporting the following error:

   "ld.so.1: eclipse: fatal: relocation error: file /usr/local/lib/libgtk-x11-2.0.so.0: symbol gdk_font_equal: referenced symbol not found"
   
so, i ran the following ldd command:

   ldd /usr/local/lib/libgtk-x11-2.0.so.0.200.4
        libgdk_pixbuf-2.0.so.0 =>        /usr/local/lib/libgdk_pixbuf-2.0.so.0
        libgdk-x11-2.0.so.0 =>   /usr/local/lib/libgdk-x11-2.0.so.0
        libX11.so.4 =>   /usr/lib/libX11.so.4
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libpangox-1.0.so.0 =>    /usr/local/lib/libpangox-1.0.so.0
        libpango-1.0.so.0 =>     /usr/local/lib/libpango-1.0.so.0
        libatk-1.0.so.0 =>       /usr/local/lib/libatk-1.0.so.0
        libgobject-2.0.so.0 =>   /usr/local/lib/libgobject-2.0.so.0
        libgmodule-2.0.so.0 =>   /usr/local/lib/libgmodule-2.0.so.0
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libglib-2.0.so.0 =>      /usr/local/lib/libglib-2.0.so.0
        libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
        libm.so.1 =>     /usr/lib/libm.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        libXext.so.0 =>  /usr/lib/libXext.so.0
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Sun-Blade-100/lib/libc_psr.so.1

i also ran nm libgtk-x11-2.0.so.0


[Index]   Value      Size    Type  Bind  Other Shndx   Name

     ...
      
[16359]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_equal
[16477]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_from_description_for_display
[16070]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_get_type
[16299]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_id
[15853]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_load_for_display
[16456]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_ref
[15759]    |         0|       0|NOTY |GLOB |0    |UNDEF  |gdk_font_unref
     ...
             
according to the following post from billy biggs, the gdk_font_equal symbol is supposed to be defined in libgtk-x11-2.0.so.0:
   
      http://dev.eclipse.org/newslists/news.eclipse.platform/msg44199.html
      
according to the output of ldd on my installation of gtk 2.2.4, gdk_font_equal appears to be undefined in libgtk-x11-2.0.so.0.      


i also ran nm libgdk-x11-2.0.so.0:

[Index]   Value      Size    Type  Bind  Other Shndx   Name

   ...
[403]    |    232092|     332|FUNC |LOCL |0    |15     |gdk_font_equal
[382]    |     81700|      24|FUNC |LOCL |0    |15     |gdk_font_from_description
[41]    |    230436|     424|FUNC |LOCL |0    |15     |gdk_font_from_description_for_display
[97]    |    229356|       8|FUNC |LOCL |0    |15     |gdk_font_get_display
[607]    |     79352|      92|FUNC |LOCL |0    |15     |gdk_font_get_type
[1991]    |    229364|      84|FUNC |LOCL |0    |15     |gdk_font_hash_insert
   ...  

i appreciate that one workaround (compile gtk from source) was suggested by one eclipse developer:

   http://dev.eclipse.org/newslists/news.eclipse.platform/msg44228.html
   
and another workaround was suggested by another developer (reinstall solaris 9!):

   http://dev.eclipse.org/newslists/news.eclipse.platform/msg44317.html
     
i am not a c/c++ developer. i would rather not have to spend days or weeks , first learning how to compile c/c++ programs, then more days or weeks debugging failed compilations. so please, can anybody suggest an alternative, less-complicated workaround for the undefined gdk_font_equal symbol not found in libgtk-x11-2.0.so.0?


thanks in advance for your help.

many thanks,
sun_certified


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]