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.
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.
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?
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.
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.
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
if theCtrl isa GroupBox then
GroupBox(theCtrl).TextFont = "System"
GroupBox(theCtrl).TextSize = 11
GroupBox(theCtrl).Bold = true
if theCtrl isa PushButton then
PushButton(theCtrl).Height = 26
PushButton(theCtrl).TextFont = "System"
PushButton(theCtrl).TextSize = 10
if theCtrl isa PopupMenu then
PopupMenu(theCtrl).Height = 28
PopupMenu(theCtrl).TextFont = "System"
PopupMenu(theCtrl).TextSize = 10
if theCtrl isa CheckBox then
CheckBox(theCtrl).TextFont = "System"
CheckBox(theCtrl).TextSize = 10
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.