Cruisers Forum
 


Join CruisersForum Today

Reply
 
Thread Tools Rate Thread Display Modes
Old 12-03-2011, 19:00   #1
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 4,883
OpenCPN and wxWidgets 2.9

Hello folks....

Background:
1. the MAC OSX build of OCPN needs to use wxWidgets 2.9 in order to get around some serious implementation bugs in wxWidgets 2.8. Thanks to the Mac team for working this out.
2. The current source tree for OCPN has been compiled and minimally tested in wxWidgets 2.9. The few problems seen so far appear tractable.

The Rub:
1. wxWidgets 2.9 is not available as precompiled libraries for any current linux distribution. We don't know when this will happen officially. For example, I doubt the next release of Ubuntu will include 2.9. I expect it will not be until 2012 that we see widespread availability of wxWidgets 2.9/3.0.
But I could be misled here...

I think it is important to maintain a single code base for our three platforms. So this is the situation on each:

a. Windows: No problem, since the Windows installer includes and installs the required wxWidgets libraries. We can migrate to 2.9 whenever we like.

b. Mac: Ditto. The .dmg includes the compiled wxWidgets libraries. Currently Beta testing with wxWidgets 2.9

c. linux: Well, we could do the same as the other two distros, namely package wxWidgets 2.9 as part of OCPN debian package. But this is not thought to generally be a good idea, since it can lead to duplication of libraries, user inconsistencies, etc. The debian package reviewers will probably not sign off on this.
Further, we cannot statically link against a precompiled wxWidgets 2.9 library set, since we require dynamic library loading to support PlugIns.

Thus, a quandary.....

If we can find a solution, I would like to migrate OCPN to wxWidgets 2.9 for the official 2.5 release of OCPN in June.

So, I invite comments and opinions on this subject. Especially, those who really understand debian packaging (AntonM?) will have ideas, and possibly workable alternatives to the brier patch we face.

Thanks
Dave
__________________

__________________
bdbcat is offline   Reply With Quote
Old 12-03-2011, 19:49   #2
Registered User

Join Date: Jan 2010
Location: Montevideo, Uruguay
Posts: 238
Re: OpenCPN and wxWidgets 2.9

Since you want opinions, here is mine.

I can't load the current linux version of opencpn because is uses and requires a version of glib (I think it's glib) not available in the latest release of Debian (Squeeze), which is as mainstream as it gets. I regret that, because I really liked the latest beta I was able to run, but I'm not willing to install a different OS just to run a program.

As is the tradition in the free software/open source community, the main goal should be to reach, by means of backwards compatibility, as many people as possible, rather than to use the latest gizmo out of the oven. I underline: it's not only my opinion, it's the tradition. As a developer myself, I can't see good technical reasons either, other that the preferences of the person that did the piece.

Although I don't see any hope for my particular situation, please do not create further incompatibilities by adopting technologies not widely available.

Many thanks.
__________________

__________________
dpons is offline   Reply With Quote
Old 13-03-2011, 00:29   #3
Registered User

Join Date: Mar 2010
Location: Göteborg, Sweden
Boat: Seamaster 700
Posts: 96
Send a message via Skype™ to balp
Re: OpenCPN and wxWidgets 2.9

Quote:
Originally Posted by bdbcat View Post
So, I invite comments and opinions on this subject. Especially, those who really understand debian packaging (AntonM?) will have ideas, and possibly workable alternatives to the brier patch we face.
I think the best for the Linux version to run against the version of wxWidgets that's is in the distribution. Even if we technically should be able to make work around or make out own updated wxWidgets packages.

So that solutions would mean keeping the codebase working against both 2.8. and 2.9 using #ifdef for any incompatibilities. I think this is the best path.

Second best is to set up a lanchpad site for for ubuntu and add the updated wxWidgets packages there togeather with a package for Ubuntu. Debian will not make a new release in years think.

My vote is for the extra work to keep both 2.9 and 2.8 support for a little more, 2.9.2 that the MacPort need's in not even officially released yet. It's a bit to early to all over depend on it, even if it work much better for the Mac port.
__________________
balp is offline   Reply With Quote
Old 13-03-2011, 03:45   #4
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,774
Re: OpenCPN and wxWidgets 2.9

Quote:
Originally Posted by bdbcat View Post
I think it is important to maintain a single code base for our three platforms.
Could you please explain to me why it is so important to maintain a single code base? In my understanding this way leads into several problems now, not only for Mac OS X but apparently also for the different Linux distributions with different glib versions.

Next question: Is it important also to offer the users the same stable OCPN version for all platforms or might it be imaginable to have different stable OCPN versions for different platforms?

Well, I guess the average user is not able to compile his own OCPN version and only wants to install and use a stable OCPN version for his hardware and OS.

Speaking about three platforms is a rather rough classification. In my opinion Linux would have been much more spread when it was not divided in so many different distributions. Also for Mac we do not have OS X only but also iOS which is just becoming a great market and many people asking for an iOS version of OCPN.

wxWidgets 2.9 supports iOS too now but I see no way to handle a single code base of OCPN for iOS also.

So there are some more basic and fundamental thoughts needed for the future, I guess. The decisions to make should stay longer than some days only.

Gerhard
__________________
CarCode is online now   Reply With Quote
Old 13-03-2011, 09:14   #5
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 335
Re: OpenCPN and wxWidgets 2.9

Why is it so important?
Probably because we dont have much manpower to maintain multiple code base. Is the Mac team able to port every changes made to main OpenCPN to reflect new features in their code base? Better to avoid this, IMHO.

glib problem is very different. We'll get better support when OpenCPN is built for every platform and release. Anton already tried for Debian but it requires some more polish to be accepted. Probably same for Ubuntu & Fedora. When this is achieved, OpenCPN will be automatically built for every supported release, with appropriate glib version et all.
In fact, we can't have one rpm or deb for every release, there should be one for each: one rpm for Fedora 13, another for Fedora 14, one deb for Ubuntu 10.04, another one for Ubuntu 10.10, etc. There's so much changes between releases (glib here for example) that we need this. Debian, Ubuntu & Fedora have automatic tools for doing all this automatically but first, OpenCPN must be accepted by package managers and packaging policy.

wxWidgets 2.9 is a development branch that'll lead to 3.0 someday. It was scheduled for release last december but was delayed since and no precise ETA so far. It's very promising but we can't rely on it right now because it's a WIP.
We may create a new branch to work on porting OpenCPN code base to latest wxWidgets 2.9, Mac team may use this base for its release but IMHO current OpenCPN releases should stick to wxWidgets 2.8 until 3.0 is released. wxWidgets 2.9 is by definition unstable (well it's probably more stable than 2.8 and getting better and better as we're approaching to 3.0 release) It's a matter of a few months.
When wxWidgets 3.0 is released, all releases switch to this branch.

The iOS (& Android) part is a very different beast. OpenCPN was designed to be used with a mouse and a keyboard, not a touchescreen. It's a very big interface change. It may be achieved but will require a lot of work.
__________________
SethDart is offline   Reply With Quote
Old 13-03-2011, 11:40   #6
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,774
Re: OpenCPN and wxWidgets 2.9

Sorry Settdart,

when I read the wxWidgets home page, version 2.9.1 was announced and released as stable version the 19th of July in 2010. Please correct me if I am wrong: wxWidgets Or do you talk about any other wxWidgets? I am not an insider of this.

Rumors about a 3.0 version circulated already 10 years ago. When you know it will come soon now, the better. The Mac developers try actually a devel version 2.9.2 because this might give a chance to have one day a running Mac version for Mac OS X. In my opinion such a Mac version does not need to reflect the latest changes of OpenCPN but has to run stable without crashes first of all. So for that work the freezen version 2.3.1 of OpenCPN might be better to use than weekly updates of the main code which causes new problems only. You are saying already that the manpower is short, so it is better to bundle them. Then the second step might be to implement any later new features of OpenCPN.

You are right saying also a touch screen version is a great task. But should the possible way to a touch screen version in the future be blocked therefore now? I have not found wxWidgets for Android but for iOS it is ready to go. If there is anyone going through all the hassles for an App Store distribution, why not? I have tested the actual OpenCPN version with iPad and iPhone running as VMs with Parallels and at last on the iPad it is usable as it is. The iPhone screen is to small however. See OpenCPN on an iPad ?
For a real iOS version there are many changes needed however.

Gerhard
__________________
CarCode is online now   Reply With Quote
Old 13-03-2011, 12:25   #7
Registered User

Join Date: Feb 2010
Location: On the go. Not in Prague.
Posts: 4,016
Re: OpenCPN and wxWidgets 2.9

Gerhard,
the whole 2.9 series of wxWidgets is considered development and will lead to 3.0, which is their next stable release. To get a picture, look at Roadmap and Roadmap. Because of that, at least the Linux distributions don't (and will not) ship version 2.9 and wait for the version released as stable (3.0).
Right now it's pretty clear that the planed release date for wxWidgets 3.0 will not be met. The amount of delay is hard to estimate.
For MacOS and Windows, bundling libraries with the installation package is easy and common. On Linux it's not the way stuff is usually done though.
There is no major problem I can see if the Mac port uses 2.3.1 as it's base now and releases the next version later than the other ports. At the other hand the more fixes needed on MacOS get integrated into upstream now, the less work you will have doing the next release.
The touchscreen version is too far out of my scope right now, I'm afraid.

Pavel
__________________
nohal is online now   Reply With Quote
Old 13-03-2011, 12:40   #8
Registered User

Join Date: Jul 2010
Location: Monastir, Tunisia
Boat: Amel Sharki
Posts: 1,774
Re: OpenCPN and wxWidgets 2.9

Pavel,

sorry for my bad english readings and understandings. But I read in your link: Roadmap
"Milestone 2.9.1 completed 8 month ago (07/19/10)".

Gerhard
__________________
CarCode is online now   Reply With Quote
Old 13-03-2011, 23:53   #9
Registered User

Join Date: Mar 2010
Location: Göteborg, Sweden
Boat: Seamaster 700
Posts: 96
Send a message via Skype™ to balp
Re: OpenCPN and wxWidgets 2.9

Quote:
Originally Posted by CarCode View Post
sorry for my bad english readings and understandings. But I read in your link: Roadmap
"Milestone 2.9.1 completed 8 month ago (07/19/10)".
For MacOS Snow Leopard, also at least 2.9.2 is needed, and that is not ready for release yet. I think to have any Mac version we need to keep both 2.8 and 2.9 support until 3.0 is ready.
__________________
balp is offline   Reply With Quote
Old 14-03-2011, 23:51   #10
Registered User

Join Date: Mar 2010
Location: Göteborg, Sweden
Boat: Seamaster 700
Posts: 96
Send a message via Skype™ to balp
Re: OpenCPN and wxWidgets 2.9

I have tested the 2.9 ported version on my Ubuntu with 2.8 and it looks like it works, the changes are stuff that got into 2.8 as well it looks like.
__________________

__________________
balp is offline   Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
wxWidgets Version 2.9 for OpenCPN (Experimental) bdbcat OpenCPN 8 06-06-2011 12:06
Help with OpenCPN moggie OpenCPN 4 15-02-2011 17:18
Help with OpenCPN moggie Marine Electronics 1 10-02-2011 07:26
Compatibility wxWidgets 2.9.0 and VC++ 2010 Netsurfer OpenCPN 4 31-05-2010 13:04
OpenCPN bdbcat OpenCPN 1343 19-09-2009 16:59



Copyright 2002- Social Knowledge, LLC All Rights Reserved.

All times are GMT -7. The time now is 03:59.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.