I went to deploy a hot-fix to a Linux server-side console utility today. The first deploy from 2014r2. Err’d out when I ran, it’s looking for libglib-2.0.so.0. I don’t even have glib on the server. (Running debian 7.5). The server is running 64bit and of course has a package available for 64bit glib.
Anyone know how to make my Xojo app run on Linux again? I did some searching for a 32bit version of glib, no go. Looks like I might have to go into the hassle of building it from source, which I’d rather not do because it is a production server and we rely quite a bit on automated security patches.
Seems it is the RBConsoleFramework.so
$ ldd RBConsoleFramework.so
linux-gate.so.1 => (0xf770f000)
libglib-2.0.so.0 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf744d000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7449000)
libm.so.6 => /lib32/libm.so.6 (0xf7423000)
libc++.so.1 => /opt/edi6/edi-export Libs/./libc++.so.1 (0xf729f000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7281000)
libc.so.6 => /lib32/libc.so.6 (0xf711d000)
librt.so.1 => /lib32/librt.so.1 (0xf7114000)
linux-gate.so.1 => (0xf77bc000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7503000)
libdl.so.2 => /lib32/libdl.so.2 (0xf74ff000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7413000)
libm.so.6 => /lib32/libm.so.6 (0xf73ed000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf73d0000)
libc.so.6 => /lib32/libc.so.6 (0xf726c000)
In recent Debian versions, once you’ve added the i386 architecture [dpkg --add-architecture i386 / apt-get update] then you should be able to just install the 32 bit version of a package directly [apt-get install libglib2.0-0:i386]
Thanks Travis, that did the trick.
Thanks for pointing me there Norman, I guess I didn’t read the system requirements since I already had apps deployed with many prior versions of Xojo.
I have a problem with this “libglib-2.0.so” thing, and worst of all I do not know Linux.
I have and old program compiled long ago - it works fine, Newly compiled ones do not.
The error on the server:
Failed to find/load Framework library
libglib-2.0.so.0: cannot open shared object file: No such file or directory
Can’t use an undefined value as a symbol reference at /var/www/vhosts/4/116642/webspace/cgi-bin/prog2/demo.cgi line 118.
Premature end of script headers: demo.cgi
Is this a file I can put into the Libs folder (preferably) or must I ask the support team to provide for me within the hosting environment?
If it’s just a file, can someone, please, point me to a working link, as I am confused by what’s out on the internet.
The requirements shed poor light on this.
http://documentation.xojo.com/index.php/System_requirements seems pretty clear where it says
Xojo and applications created with Xojo require these libraries:
GTK+ 2.20 (desktop)
glib 2.0 (web and console)
libwebkitgtk-1.0.0 or libgtkhtml (for HTMLViewer)
On 64-bit Linux distributions, you will need to ensure the appropriate 32-bit compatibility libraries are installed in order to run Xojo or applications built with Xojo. Note that glib 2.0 might not be included in 32-bit library packages, so be sure to check or install it manually.
glib 2.0 (libglib2.0) is a package that must be installed for the OS. If it is not a server you control, you’d need to request it be installed.
sadly, it is not cleary for at least 2 reasons, already mentioned:
1 - one of my applications (compiled a year ago) executes fine - unlike any I compile today
2 - the docs don’t say if I must put the files in the libs folder or install some package onto Linux.
Finally, not all that many programmers are good at administering Linux.
I use cheap hosting that worked very well until I bumped into this error.