I wanted to install OpenCPN (a maritime chart plotter and GPS navigation software) on my MeeGo 1.1 running on my Samsung N150 notebook instead of using the easier path of using a M$ box or even using Ubuntu. Too easy for me, as usual I prefer challenges – but I have also something else in my mind. Tablet computers would be ideal for heavy sea conditions, provided that some rugged models will pop up as I expect. Certainly some nice applications will appear in A-store but not for me, thank you. If I go overseas, I want to know everything in my ship, including the navigation system. No way to have dependencies to Mr. G. or Mr. J. in my vessel, for sure. MeeGo is designed for small handheld devices so why not test if one can run OpenCPN on it, as an initial test to see if it can be used on a Linux powered tablet computer (why not on a tablet powered by Ubuntu – that exists – but I believe MeeGo approach of netbook being the highest platform range being more appropriate to what I am looking for).
The installation of OpenCPN on MeeGo took me some four hours but then I moved instantly from the rainy Provence to the sunny waters of Virgin Islands hacking the N95 GPS over a Bluetooth connection ! Of course, I would not take this installation in my boat, but now I know that my (future) overseas boat can navigate with the traditional methods and some common sense, with some very helpful aide provided by an open source running tablet computer.
Some words about the OpenCPN MeeGo port (or hack) – head down and no notes, I must admit. First I installed xf86-video-intel-2.12.0 from source of intellinuxgraphics.org (to get some libraries for GTK, the version 2.12 was a conclusion of trial-and-error method). wxWidgets-2.9.1 was the next installation from the source. The /etc/ld.so.conf.d needs to be modified for /usr/local/lib shared libraries. All other dependencies can be found from the MeeGo repositories during the process using zypper search.
OpenCPM-2.3.1 uses cmake. Some errors appear in the gpxdocument.cpp compilation, but they are simple cast problems, which can be resolved by writing, for example, instead of
if (name && name.Lenght() > 0) if (name!=(const char *)NULL && name.Len() > 0)
There was also a run-time error, a segmentation fault in wxWidgets, but with gdb I quickly spotted that by putting the following statement in comments in chart1.cpp, the welcome dialog still looks good but the crash goes away…
//mldg.CentreOnParent();
Brilliant. Really good job Captain of the Bigdumboat, thanks a bunch for your help to me keep my dream alive!