BOINC 6.12.34 and wxWidgets Link Reference

I’m having trouble getting BOINC 6.12.34 to run with the OpenSuse 11.4 wxWidgets packages, but I’m not sure what the real issue is:

paracelsus@linux-fcqg:~/BOINC> ./run_manager 
./boincmgr: relocation error: ./boincmgr: symbol _ZTV16wxWindowListNode, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference

However . . .


linux-fcqg:/home/paracelsus # readelf -W -s  /usr/lib64/wx-2.8-wxcontainer/libwx_gtk2u_core-2.8.so.0 | grep _ZTV16wxWindowListNode                                                                            
  6975: 00000000005f8b20    40 OBJECT  WEAK   DEFAULT   22 _ZTV16wxWindowListNode@@WXU_2.8

paracelsus@linux-fcqg:~/BOINC> wx-config --libs
-L/usr/lib64/wx-2.8-wxcontainer -pthread  -Wl,-rpath,/usr/lib64/wx-2.8-wxcontainer  -L/usr/lib64   -Wl,-rpath,/usr/lib64/wx-2.8-wxcontainer -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8

linux-fcqg:/home/paracelsus/Downloads/wxWidgets-2.9.2 # rpm -qa | grep wxWidget
wxWidgets-wxcontainer-compat-lib-config-2.8.11-3.9.1.x86_64
wxWidgets-wxcontainer-devel-2.8.11-3.9.1.x86_64
wxWidgets-lang-2.8.11-4.5.1.noarch

I’m not seeing why this is not working. If anyone has any suggestions, I would appreciate it. I did find [Bug 717508] Check cooperation between wxWidgets and BOINC](http://lists4.suse.de/opensuse-bugs/2011-09/msg02485.html) however, the recomeded compat package is install, the symbol is defined, and the wx-config path appears correct.

Cheers,
Lews Therin

looks like some error in the gtk2u_core lib, maybe.

What is the output of

 rpm -qa | grep libwx 

On my machine (running OS 11.4 x64, BOINC Manager 6.12.34 (x86)) I have the following libraries


aquinox@LinDevNV:~> rpm -qa | grep libwx
libwx_gtk2u_richtext-2_8-0-stl-2.8.11-4.13.1.x86_64                             
libwx_gtk2u_qa-2_8-0-stl-2.8.11-4.13.1.x86_64                                   
libwx_baseu_xml-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                       
libwx_baseu_net-2_8-0-stl-2.8.11-4.13.1.x86_64                                  
libwx_baseu_xml-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                          
libwx_gtk2u_html-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                      
libwx_gtk2u_xrc-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                          
libwx_baseu-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                              
libwx_gtk2u_core-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                      
libwx_gtk2u_aui-2_8-0-compat-lib-wxcontainer-2.8.11-3.13.1.x86_64               
libwx_gtk2u_core-2_8-0-stl-2.8.11-4.13.1.x86_64                                 
libwx_gtk2u_xrc-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                       
libwx_gtk2u_html-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                         
libwx_gtk2u_xrc-2_8-0-stl-2.8.11-4.13.1.x86_64                                  
libwx_gtk2u_qa-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                        
libwx_gtk2u_adv-2_8-0-stl-2.8.11-4.13.1.x86_64                                  
libwx_gtk2u_adv-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                       
libwx_baseu_net-2_8-0-compat-lib-wxcontainer-2.8.11-3.13.1.x86_64               
libwx_gtk2u_media-2_8-0-stl-2.8.11-4.13.1.x86_64                                
libwx_gtk2u_qa-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                           
libwx_baseu-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                           
libwx_gtk2u_aui-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                          
libwx_baseu_xml-2_8-0-stl-2.8.11-4.13.1.x86_64                                  
libwx_gtk2u_gl-2_8-0-stl-2.8.11-4.13.1.x86_64                                   
libwx_baseu_net-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64                       
libwx_gtk2u_core-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64                         
libwx_gtk2u_xrc-2_8-0-compat-lib-wxcontainer-2.8.11-3.13.1.x86_64               
libwx_gtk2u_richtext-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64
libwx_baseu-2_8-0-stl-2.8.11-4.13.1.x86_64
libwx_gtk2u_aui-2_8-0-compat-lib-stl-2.8.11-4.13.1.x86_64
libwx_baseu_net-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64
libwx_gtk2u_stc-2_8-0-stl-2.8.11-4.13.1.x86_64
libwx_gtk2u_gl-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64
libwx_gtk2u_adv-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64
libwx_gtk2u_gizmos-2_8-0-stl-2.8.11-4.13.1.x86_64
libwx_gtk2u_html-2_8-0-stl-2.8.11-4.13.1.x86_64
libwx_gtk2u_aui-2_8-0-stl-2.8.11-4.13.1.x86_64

Additionally openssl0_9_8 and libnotify1. And my BOINC client+manager work excellent for days.

Hey there,

Thanks for the suggestions.

I upgraded all wx libs to the latest versions available, which seems to have resolved the first issue. Now however I get the following:

paracelsus@linux-fcqg:~/BOINC> ./run_manager 
./boincmgr: error while loading shared libraries: libwx_gtk2u_richtext-2.8.so.0: cannot open shared object file: No such file or directory

Yet this is installed:


linux-fcqg:/home/paracelsus # rpm -qa | grep gtk2u_richtext                                           
libwx_gtk2u_richtext-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64
libwx_gtk2u_richtext-2_8-0-stl-2.8.11-4.13.1.x86_64

linux-fcqg:/home/paracelsus # rpm -qf /usr/lib64/wx-2.8-stl/libwx_gtk2u_richtext-2.8.so.0
libwx_gtk2u_richtext-2_8-0-stl-2.8.11-4.13.1.x86_64
linux-fcqg:/home/paracelsus # rpm -qf /usr/lib64/wx-2.8-wxcontainer/libwx_gtk2u_richtext-2.8.so.0
libwx_gtk2u_richtext-2_8-0-wxcontainer-2.8.11-3.13.1.x86_64

Despite that:


paracelsus@linux-fcqg:~/BOINC> ldd boincmgr
        <found libs omitted>
        libwx_gtk2u_richtext-2.8.so.0 => not found
        libwx_gtk2u_aui-2.8.so.0 => not found
        libwx_gtk2u_xrc-2.8.so.0 => not found
        libwx_gtk2u_qa-2.8.so.0 => not found
        libwx_gtk2u_html-2.8.so.0 => not found
        libwx_gtk2u_adv-2.8.so.0 => not found
        libwx_gtk2u_core-2.8.so.0 => not found
        libwx_baseu_xml-2.8.so.0 => not found
        libwx_baseu_net-2.8.so.0 => not found
        libwx_baseu-2.8.so.0 => not found

paracelsus@linux-fcqg:~/BOINC> wx-config --libs
-L/usr/lib64/wx-2.8-wxcontainer -pthread  -Wl,-rpath,/usr/lib64/wx-2.8-wxcontainer  -L/usr/lib64   -Wl,-rpath,/usr/lib64/wx-2.8-wxcontainer -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8 

Any suggestions on this one? I don’t see why boincmgr is not finding the installed libwx libraries?

(As a note, I compiled BOINC as per CompileClient – BOINC and it seems to function okay, and for the first time ever all the buttons are displayed correctly in the GUI client, which is great. But I’d sure like to understand what is going on with these libraries and why the 6.12.34 version won’t find them.)

Cheers,

I won’t say that I have a good idea of what’s going on, but for me this looks rather like some of your libraries are not registered with the system. (which would be a job for ldconfig)

For comparison:


aquinox@LinDevNV:~> wx-config --libs
-L/usr/bin/epd/lib -pthread  -Wl,-R,/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD/PLACEHOLD  -L/usr/X11R6/lib64   -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8 

(ok this looks messed up, but works)

Look in your “ld.so.conf” (this is mine)


/usr/X11R6/lib64/Xaw3d
/usr/X11R6/lib64
/usr/lib64/Xaw3d
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/x86_64-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/opt/kde3/lib64
include /etc/ld.so.conf.d/*.conf
/usr/local/cuda/lib64
/usr/local/cuda/lib
/opt/mpich/ch-p4/lib64

After that I looked into “/etc/ld.so.conf.d/wxWidgets.conf” which yielded

/usr/lib64/wx-2.8-wxcontainer

If in doubt, kick all the libs and reinstall them (from the openSUSE-11.4-Oss Repo) [my favourite method if sth. just won’t go the way I want it to]

Hey there,

Turns out the missing wx libs shown in ldd are only with the 32-bit version, with the 64-bit version I am still getting

./boincmgr: relocation error: ./boincmgr: symbol _ZTV16wxWindowListNode, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference

:frowning:

I tried building from the svn tag for version 6.12.34 and also ran into issues.

I kicked this over to the BOINC forums:

BOINC 6.12.34 64-Bit and wxWidgets Link Reference

boincmgr not built with SVN tag boinc_core_release_6_12_34

I’ll post any resolutions here, thanks for your help!

(All this seems pretty silly really - hopefully I can get some insight over on the BOINC forums which might help other Suse users. As a note, these same issues happen on a stock 12.1 64-bit install too in VirtualBox.)

Lews Therin

I have OpenSUSE 12.2 and Boinc 7.0.28 for Linux x64.

I kept getting messages of missing wxWidgets (eg: libwx_* files). I used YAST to install all the wxWidgets that did not have the word “compatible” in the package name.

After that, I got this error message:

./boincmgr: relocation error: ./boincmgr: symbol _ZTV16wxWindowListNode, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference

I used this command and it worked!!!

for file in /usr/lib64/wx-2.8-wxcontainer/*.so.0; do ln -s $file /usr/lib64; done;

Sorry to resurrect an old thread, but nothing has worked for me since I upgraded to openSuSE 13.1. I did what was listed here but then got the listed message but never did before until I made this link. Still run_manager isn’t working but apparently run_client is. Anyone have this working under 13.1?