libicu problems

I’m having trouble running 32bit apps on my 64bit ubuntu install (12.04)
It seems to require libicu48:i386 but installing that conflicts with libicu48.
64bit builds run fine, and the remote debugger works, but any debugged or built 32bit apps fail…

Any ideas? I’m going to try 14.04 and see if I have better luck. This could make things trickier if I need 2 installs of each linux distro…

You have to add 32 bit architecture on your system. Please check this how-to-run-32-bit-app-in-ubuntu-64-bit

The problem seems to be related to Ubuntu 12.04.
You cannot install the 32bit libs without removing the 64bit libs and breaking the system.
I upgraded to 14.04 and now 32 and 64 can co-exist.

Also, the issue is with libicu that used to be copied into the built app’s libs folder, but is now reliant on the system’s libicu. In my Googling I found something about it, but I don’t have the link… I think this means that it’s impossible to run a 32bit Xojo app built with 2015r3 on a 64bit Ubuntu pre-14.0 system.

I think I saw that you could include your own copy of libicu in the libs folder though… here’s the blog

That just says libicu is no longer linked in by default & we use the system one ?

This does mean that your system will have to have the 32-bit version of libicu 4.2+ installed on it. Most current distributions already have this library installed, but older ones that you may already be using may not have libicu installed.

Right, but attempting to install the 32bit version on Ubuntu 12.04 requires the removal of the 64bit version and hence is a no-go. It works on 14.04. I think the solution is to require users to run 14+ for a 32bit build or provide a 64bit build for pre 14 systems. I did come across an old bug report in the libicu package saying it was “broken” by not allowing the 2 versions to be installed on the same system.

So, it’s not a Xojo issue, but something to be aware of if you’re targeting Linux.

Here’s the issue… libicu48 is not multiarch enabled
Looks like it was fixed in 12.10, so stating the minimum system as 12.10+ may be the answer.

Thanks for uncovering this, Jim. I’ve added a note about it to the System Requirements page in the libicu section.

Welcome to linux
Makes you feel like a Martian :stuck_out_tongue:

For future readers, I was able to find the problem by running the built app from the command-line.

This has me wondering if the debugger could log any output generated by the app. Or is there a log that I’m unaware of? I would love to have a “Show log” or “Show output” button on the remote debugger. Or have it send the data back to the IDE…