Programming Editor on Linux (Ubuntu)

steliosm

Senior Member
Finally I'm able to use my linux machine to program the PicAxe chips. I am using the VirtualBox v1.5.4 (http://www.virtualbox.org/) running on Ubuntu 7.10. Everything seems to be working OK. Since I'll do most of the PicAxe programming this way know, I will be able to trace any possible problems and report back.
I think for the Linux fans, there is no need to keep an old Windows PC just to program their chips.

Here are some tips for anyone interested out there:
- Do not use the OSE version of the VirtualBox, but the closed source version (this is the only way that USB devices work)
- Although I could use my serial port, through the virtual machine, to log to a cisco router console, I couldn't make it work with the PicAxe. I had to use my USB<->Serial converter which worked fine.
 

piglet74

New Member
I'm doing pretty much the same thing. VMWare has a converter. It will create a copy of your running windows box. Then you move it over to your ubtuntu box and fire it up. Haven't tried serial but my usb to serial and my Garmin work fine. I'll have to check out virtualbox though,
 

steliosm

Senior Member
I only had windows on my laptop in order to run the Programming Editor. I had to turn on the laptop everytime I needed to test something quick. Now I can just start VirtualBox and program the chips.

So far everything look ok. I'm using it to program my 08m. I programmed 2 of them multiple times for a project I'm doing at the moment.
 

moxhamj

New Member
This is very impressive. Ubuntu is looking like a serious proposition. I've just installed OpenOffice on a number of machines - everything office can do but free - and it works on linux as well as windows. I run 6 machines at home and 10 at work and sooner or later they would all need to go from XP to Vista. The licence fees start to get scary. But with ubuntu, open office, Opera or Mozilla and a picaxe programmer, it is getting feasible to break away from windows. Is there an open source visual basic/C out there?
 

hippy

Ex-Staff (retired)
One thing that surprised me on the VirtualBox download page was the huge number of different downloads there for specific builds of particular Linuxes. The same seemed true of other Linux product binary downloads I Googled for.

Used to coding in VB3 knowing that the single .EXE will run on everything from Windows 3.1 to Windows XP and a VB6/VB.Net .EXE will run on everything from Windows 95 to Windows XP that came as quite a shock.

Does a developer really have to produce binaries for every type of Linux and for different versions of each type ? It would explain why so much Linux code is download source and compile it yourself.

If that is the case, any developer not prepared to go open source has to deliver binaries for each platform and that means having to boot every supported version of Linux, re-compile and regression test everytime there's a change, and forced to upgrade to every new version of each Linux before users start complaining their linux isn't supported.

That would be a nightmare for any developer ( Rev-Ed included ) and would explain any reluctance to do that.

Is it really as bad as it seems to me ?
 

steliosm

Senior Member
Well, the binaries produced can be either statically linked (every library used in compiled inside the binary file) or dynamically linked. In the later option, the environment that the user will install the application must have the same libraries and the same or newer vesion. Windows force you to use the VBRUN DLL in order to run VB apps and all the OCX, DLLs that the program is using.
The differences in all the distributions are that each distribution has it's own packaging system. Some are using RPM, some are using DEB and some are using TGZ packages.
Easiest approach would be to ship your application in a TGZ (compressed tar file) and include your libraries in it. If you keep up with a recent development environment it's easy to ship you application to other distributions. Library dependencies can also be easily solved.
 

valtsu71

New Member
The differences in all the distributions are that each distribution has it's own packaging system. Some are using RPM, some are using DEB and some are using TGZ packages.
This isn't actually the root problem, but it's the distribution architecture and system libraries, i.e. which libraries are used as a building blocks for applications, and not-so-strict dependencies, when developer is creating his/her software and corresponding packaging. If you write a piece of software, and especially use some nifty feature of a certain library version, you end up this kind of a problems Hippy described in his post. It is possible to write a software, which can be used in several different distribution versions, and several different distributions, you just need to be careful, how you use provided system libraries.

In case of VirtualBox, because it's a system emulator, it uses quite extensively libc functions, and that's why it needs so many different compilations, because all libc versions are not functionally equal. At least, VirtualBox developers provide installation packages to all major distros, it's a rare luxury.
 
Last edited:

hippy

Ex-Staff (retired)
Thanks valtsu71.

While Microsoft forces people to download huge runtimes and libraries ( VB6RUN.DLL, entire .Net Frameworks ) if not pre-installed with the OS, at least from a programmer's perspective everyone's PC has the same libraries and functionality - except when it goes badly wrong, although that seems the exception rather than the rule.

While Linux has its advantages this is an area where the forced proprietory solution seems to be an advantage, especially for novices and those users who do not know how to nor want to compile applications from source code, and for developers. GPL and other licensing issues also affect how a developer can deliver their product to the end-user.

It seems that "a Linux port" is not always something which can be so easily delivered as people may imagine.
 

valtsu71

New Member
While Linux has its advantages this is an area where the forced proprietory solution seems to be an advantage, especially for novices and those users who do not know how to nor want to compile applications from source code, and for developers. GPL and other licensing issues also affect how a developer can deliver their product to the end-user.

It seems that "a Linux port" is not always something which can be so easily delivered as people may imagine.
In case of Programming Editor, my guess is problem lies within desktop. There are distributions using KDE and corresponding Qt framework as default desktop environment, distributions using Gnome and corresponding GTK framework as desktop default, distributions using Xcfe and corresponding libraries as default desktop etc. These frameworks differ each other, so in order to support several distributions, UI must be ported to all these frameworks, meaning additional effort in design, implementation and support. This isn't the issue in MS Windows, because there are no alternative desktop frameworks and/or libraries.
 

steliosm

Senior Member
There is no need to port the IDE to all the Desktop environments tha Linux has. You can use the one that works best for you and the user must make sure that the desktop libraries (eg. QT or GTK+) ara available on his system.
I'm using Gnome as my Desktop environment and I can run appications using QT nad other GUI libraries without the need to switch the desktop.
 

valtsu71

New Member
There is no need to port the IDE to all the Desktop environments tha Linux has. You can use the one that works best for you and the user must make sure that the desktop libraries (eg. QT or GTK+) ara available on his system.
I'm using Gnome as my Desktop environment and I can run appications using QT nad other GUI libraries without the need to switch the desktop.
Yes, you are right in a sense, that it's not absolutely needed. OTOH, I'm KDE user, and I would be pissed, if I had to download and install all Gnome libraries just to install one single application, even though as important as Programming Editor :p. It may or may not be a big issue for you or me, but there are Linux installations, which don't have enough resources for a scenario described above.
 
Top