Running introjucer console app in linux


#1

Hi,

I have just built a linux console app using introjucer makefile. (I read in another post there is an easy way to encrypt data using RSA algorithm and a console app that runs in the server and encrypts the data into a keyfile).

After installing a few libraries I managed to compile it in release mode and work propertly. But I have read (I am not sure because I am a Linux newbie) that perhaps that app does not work in any linux versions. When looking at the dynamic libraries linked to the executable, these one appears:

linux-gate.so.1 => (0x00ccd000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00691000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00cf9000) librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x008e6000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x0069b000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x007a5000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x00bbb000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00110000) /lib/ld-linux.so.2 (0x005ad000)

I am using Ubuntu 12.04. My questions are,

Will my app run in any version of Linux?
If not, is there any way to convert those libraries into static mode or anything else?

I will be very grateful If any one could give me a hint.

Thanx to all,

Oscar


#2

We have similar problems with Tracktion - Linux is a bit of a nightmare if you’re trying to build a cross-system binary.

Really the only solution is to build on an older version of the kernel, which will be forwards-compatible but not backwards. Disabling SSE3 is also a good tip if you don’t want it to break on some people’s machines!


#3

TBH though - I often see different builds for OS X versions (10.6, 10.7, 10.8 ).

On Linux you have the somewhat added complexity of different package managers. Normally, a binary will work across most distributions but might be packaged as deb, rpm, tgz etc to fit whatever package manager the target distribution uses.

This is a library issue and has nothing to do with the kernel. Maybe you meant to say “build against older versions of the libraries”.

Building on a slightly older version (in your case say Ubuntu 10 or 11) is usually sufficient. Consider using VirtualBox or VMWare to easily switch between distributions.


#4

[quote=“grebneke”]
This is a library issue and has nothing to do with the kernel. Maybe you meant to say “build against older versions of the libraries”.

Building on a slightly older version (in your case say Ubuntu 10 or 11) is usually sufficient. Consider using VirtualBox or VMWare to easily switch between distributions.[/quote]

Yes, that’s what I meant of course, and is what we do for tracktion. But it’s a PITA to have to maintain a whole out-of-date system image just to build a binary!