wxWidgets in OpenSolaris

wxWidgets has been integrated into OpenSolaris (build 100) as a shared library now. This will certainly help a lot of wxWidgets GUI applications which can now link to the integrated wxWidgets in seamless manner. According to wxWidgets' homepage, wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much much more.

Actually, wxWidgets existed in Solaris before build 100 but only in a statically linked form with pgAdmin, a PostgreSQL administration/monitoring tool. But, starting with build 100, it can be used as a shared library and dynamically linked to various GUI applications. The current version is wxGTK-2.8.8.

With this integration, you will see 2 new packages being added, as SUNWwxwidgets and SUNWwxwidgets-devel. SUNWwxwidgets includes all the wxGTK related libraries (including the 64bit version) and SUNWwxwidgets-devel include all the headers files that you would need to compile any application that depends upon wxGTK. So, If you are just going to run some GUI based application that depends on wxGTK, you only need to install the SUNWwxwidgets package (which is expected to be installed as a dependency by the package management system anyway). Please note that the OpenSolaris IPS repository contains only one package, SUNWwxwidgets and here SUNWwxwidgets-devel package is combined into the SUNWwxwidgets package.

wxWidgets libraries are currently being built with support for xrc, expat, sdl and opengl. You can look at the ARC materials here.

Application developers can get more information about the installed wxWidgets by doing following,

rangabhoomi % wx-config --version

rangabhoomi % wx-config --libs
-mt -L/usr/lib -R/usr/lib  -L/usr/X11R6/lib 
-L/usr/openwin/lib  -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

So, feel free to try this out and if you find bugs, please log them in the category, solaris/library/wxwidgets.


Is there any way to get these packages now? I'm using build 99 and it doesn't look like there are any wxwidget packages available in the repository. And build 100 doesn't seem to be available. Thanks.

Posted by Adam Plumb on October 29, 2008 at 07:22 PM IST #

Hey, are you in charge of wxWidgets ? :) I knew that at least as of earlier this year, you were part of the database group (mysql and JavaDB at least).

Posted by Sriram Narayanan on November 02, 2008 at 11:52 AM IST #

Nope I'm pretty sure that isn't me ;) Must be another Adam.

Posted by Adam Plumb on November 02, 2008 at 01:43 PM IST #

@sriram, yes, you can say so. I am still part of the database group and integrating such packages in OpenSolaris is another project that I am working on. There is more to come, stay tuned ! :-)

@adam, build100 packages are up on pkg.opensolaris.org, but I can see only SUNWwxwidgets there and not SUNWwxwidgets-devel, will check with the IPS team on that ?

Posted by Mayuresh Nirhali on November 03, 2008 at 12:35 AM IST #

I don't see tge gtk2_unicode_debug version. Any intent to compile a wxWidgets application using debug assert will fail. Pls, fix it. thx.

Posted by bubu on January 03, 2009 at 05:26 PM IST #

Compilation of my wxWidgets application goes well (although I have to manually remove the "-mt" option that wx-config --cxxflags/--libs provides). The linking however doesn't. Errors are all about missing symbols e.g.
wxWindow::DoGetClientSize(int\*, int\*)
and many others. Anyone?

Posted by Søren Krarup Olesen on January 14, 2009 at 08:40 AM IST #

Have you tried to compile the wxWidgets samples with this? Can you post the steps here?

Posted by Luis on March 30, 2009 at 09:44 PM IST #

I have nothing but grief to say about the integrated shared libraries... I can compile and run the wxWidgets samples and my own application if I use my own libwx\* shared libraries. But I cannot do it when using the shipped libraries. I get some relocation errors... Are the shipped libraries compiled with the Sun compiler? Would that be a problem when running application compiled with GNU's g++?

Posted by Luis on April 01, 2009 at 02:16 PM IST #

Reply to Søren Krarup Olesen: it looks like that you tried to compile with gcc. That will not fly because the shared libraries were compiled with CC. You may be able to compile but the application will not run. The fact that wx-config --cxxflags gives you a -mt flag is an indication that that wx-config was creted using the Sun CC. At least that was my experience. I could only compile and run my application until I switched to CC, which was not simple since Sun's make also did not like my Makefile.

Posted by Luis on April 07, 2009 at 01:24 PM IST #

What do you mean when you ask to log bugs in the category solaris/library/wxwidgets? Where is the site? I do have a bug to report, although minor:

luis@opensolaris:~$ elfdump /usr/lib/libwx_baseu-2.8.so.0.5.0 | grep SONAME
[6] SONAME 0x3b libwx_baseu-2.8.so.0.5.0

This means that the soname was not properly recorded in the shared libraries during compilation. It should be libwx_baseu-2.8.so.0 only (no minor, no release numbers appended). Check my post in the wxforum regarding this issue.

Posted by Luis on April 07, 2009 at 01:32 PM IST #

Thank you for sharing.

Posted by farmacia venta online on October 23, 2009 at 09:09 AM IST #

You may be able to compile but the application will not run. The fact that wx-config --cxxflags gives you a -mt flag is an indication that that wx-config was creted using the Sun CC. At least that was my experience. I could only compile and run my application until I switched to CC, which was not simple since Sun's make also did not like my Makefile.http://www.mp3indirdinle.com/

Posted by oyun on January 16, 2010 at 08:33 PM IST #

Keep getting

wxWindow::DoGetClientSize(int\*, int\*)

Can anyone help me??

Posted by husky training on February 18, 2011 at 01:10 AM IST #

Thank you for sharing,very nice.!!!

Posted by rolex replicas on August 10, 2011 at 04:04 AM IST #

Post a Comment:
  • HTML Syntax: NOT allowed



« November 2015

No bookmarks in folder