[Interest] Compile Qt program on Ubuntu 18.04 which will run on Ubuntu 14.04

roland at logikalsolutions.com roland at logikalsolutions.com
Fri Nov 16 17:02:29 CET 2018


On 11/11/18 Vlad Stelmahovsky wrote:

> bundle stdlib++ etc with your app

Thank you Vlad.

You are correct that, traditionally, going backwards, that is about  
all you need, as long as there are no ABI changes to the C/C++  
language which force one to bring ld-2.27.so and repoint the 32-bit  
loader on 64-bit systems.

         if [ ! -f /lib/ld-linux.so.2 ]
         then
             logger ipos postinst changing loader file
             # We know the file the symbolic link should point to  
doesn't exists
             # but do we have a stale symbolic link?
             #
             if [ -h /lib/ld-linux.so.2 ]
             then
                 logger ipos postinst unlinking /lib/ld-linux.so.2
                 unlink /lib/ld-linux.so.2
             fi
             # find returns files with ./ prefix so we use sed to remove it.
             # loader_file=$(find /lib/i386-linux-gnu/ -type f -iname  
ld-2.* -print |sed "s/\.\///g")
             loader_file=$(find /lib/i386-linux-gnu -type f -iname  
ld-2.* -print |sed "s/\.\///g")
             if [ ! -z "$loader_file"  ]
             then
                 logger ipos postinst new loader file "$loader_file"
                 ln -s "$loader_file" /lib/ld-linux.so.2
             fi
         fi

The ABI changes to C/C++ were to severe this time. Even when forcing  
C++11 compilation the differing systems would not recognize the  
binaries as executables. Even ldd refused to work on them.

For the year end release, due to time, it was built on 14.04 and still  
had to bring its own little universe of libraries routed through via  
RPATH. Not really that many less than going backwards. Not in the  
grand scheme of things anyway. Next year, when 14.04's repos get  
turned off and nobody can spin up a 14.04 build environment with all  
updates applied, someone will have to take the time to find their way  
around this little ABI debacle, or, most hopefully, one of the Ubuntu  
developers will fix ld-linux so it can recognize and work with  
multiple ABIs. Right now that is really the scrambled egg, ld-linux is  
far to picky. The rest of the libraries have multi-ABI support  
compiled in, but, ld-linux isn't playing nice with those who are  
different.
-- 
Roland Hughes, President
Logikal Solutions
(630) 205-1593

http://www.theminimumyouneedtoknow.com
http://www.infiniteexposure.net
http://www.johnsmith-book.com
http://www.logikalblog.com
http://www.interestingauthors.com/blog
http://lesedi.us




More information about the Interest mailing list