Toying with a Linux Build..

Every couple of years I dig out a copy of Linux and consider compiling a complex app for it.
Each time I attempt it, i face a harrowing list of packages to be installed, libraries to update, GUI to consider , and thats before I even try to run the app in debug.

But its nearly 2017, so maybe things have improved.

Looking about, I hear Ubuntu and Mint mentioned most frequently.
Im unclear whether Xojo is compiling for 64bit on Linux yet.

In bullet points: does anyone have any recommendations for the ‘least painful’ way into porting a Linux version of a desktop app from scratch?
I’ll be installing a fresh Linux into a clean VM, and starting from there.

Xojo does compile for 64 bit on Linux. As a matter of fact, the latest version of Feedback for Linux Is only available as 64 bit now.

…and yes, Mint is currently my favorite distro.

  • Mint 18 64-bit is my preferred Linux distro. The Xojo IDE (which is 32-bit) runs well on it without having to install anything extra. 64-bit apps built by Xojo also work well on it.
  • Xojo can compile 64-bit Linux apps (desktop, web and console) from Linux, Windows or macOS.
  • Don’t forget about the Remote Debugger.

Jeff you sound like I feel about Linux,

But Mint 32 bit is what I have on my MAC in a VM, absolutely zero issues, its got auto updates and fells extremely polished, although the IDE is not quite as enjoyable as when used on the MAC, but I only occasionally use it to test things out.

I would likely use Mint as opposed to win7 I had to.

Hope you like the colour green!


Two days ago I started testing Xojo on Linux…
Yesterday I installed my preferred distro for low-profile boxes (I’m testing on an old core 2 duo with 256 mb integrated graphic chip): lubuntu 16.04 64 bit.
Xojo crashed a lot of times, and I needed to install or update missing packages. The same happened with the 32 bit variant.

Today I installed from scratch Linux Mint 18 with XFCE (I want to stay lighter), and everything is working smoothly (so far).
I installed the 32 bit variant, because (correct me if I’m wrong), only 32 bit apps can be debugged remotely, and I don’t want to debug my app as a 32 bit one, and then compile it to 64 just to discover it has issues!


You are correct, only 32-bit apps can be debugged (remotely or locally). But I’ve found that Mint 18 64-bit runs both 32-bit and 64-bit apps well. This allows you to debug and build as 32-bit, but to also do 64-bit builds when needed.

Thanks for the tip Paul, but I’m a bit worried that, given the two compilers are so different, I could potentially have some glitches in 64 bit builds that aren’t there in 32 bit ones… Especially if doing some low level operations, or using native plugins, etc.
What do you think?


Sure, the 32-bit and 64-bit x86 compilers are totally different. You’ll have to test with both if you want to ship both types of apps.

I’m just pointing out that Mint 18 64-bit lets you easily test both 32-bit and 64-bit apps, should you decide to go that route.

Installing Mint now.
Lets see how we go… :wink:

Would I copy plugins from my Mac install, WIndows install, or have to do something special for Linux?

Plugins are the same regardless of platform.

I’ve started to play with Linux (Mint Cinnamon 64Bit) 2weeks ago…

I’ve installed it parallel on my Windows “Playbook” Dell XPS13… also the Xojo 32Bit IDE runs out of the Box… very smooth and fine… now I’m playing more with Xojo on Linux than on Windows 10 :slight_smile:

but my favorite Platform is still OS X… But as a non Linux guy i’m very happy with the Linux Mint solution at the moment…

Hmm… errors in MBS Nikon plugin, then Snow Leopard plugin, neither of which Im using.
‘Async is a reserved word…’

Async was made a reserved word a while ago (maybe a year or so); that has nothing to do with you running Linux, it’s just that you are probably using a more recent version of Xojo than you were previously.

Thatll be it.
Happens in all the example apps too.
I’ll download new plugins to go with it and see what happens.

Controls all over the place, font sizes odd…
But bits of the app are working.
I’ll come back in a week when I’ve overcome the biggest blockers. :slight_smile:

Thanks for the advice so far. Mint is quite comfortable as a desktop.

for a desktop I agree 100%.

[quote=300444:@Jeff Tullin]Woof.
Controls all over the place, font sizes odd…
But bits of the app are working.
I’ll come back in a week when I’ve overcome the biggest blockers. :slight_smile:

Thanks for the advice so far. Mint is quite comfortable as a desktop.[/quote]

you can adjust with a method like this

Public Sub setWinFonts(mywin as window) dim theCtrl as Control for i as integer = 0 to mywin.ControlCount-1 theCtrl = mywin.Control(i) if theCtrl isa Label then Label(theCtrl).TextFont = "System" Label(theCtrl).TextSize = 10 end if if theCtrl isa GroupBox then GroupBox(theCtrl).TextFont = "System" GroupBox(theCtrl).TextSize = 11 GroupBox(theCtrl).Bold = true end if if theCtrl isa PushButton then PushButton(theCtrl).Height = 26 PushButton(theCtrl).TextFont = "System" PushButton(theCtrl).TextSize = 10 end if if theCtrl isa PopupMenu then PopupMenu(theCtrl).Height = 28 PopupMenu(theCtrl).TextFont = "System" PopupMenu(theCtrl).TextSize = 10 end if if theCtrl isa CheckBox then CheckBox(theCtrl).TextFont = "System" CheckBox(theCtrl).TextSize = 10 end if next End Sub

#if TargetLinux then setWinFonts(Window1) #End If


I was very surprised by the control and font size differences in Linux, it is a real pain and you have to have defines for the differing platforms and spend time messing with the sizes.
In general I see that the controls and fonts have to be larger on Linux (which includes Pi) every time.


If you use the IDE in Linux and drag a button into the window, the height is adjusted automatically to 26.
If you created the project in OSX, the buttons have a lower height.

You have to adjust it when it has been created in another operating system.