Self-contained executable for any Linux x86_64 distribution

Lubomir I. Ivanov neolit123 at gmail.com
Sun Mar 3 02:46:34 PST 2013


On 3 March 2013 03:41, Lutz Vieweg <lvml at 5t9.de> wrote:
> Hi all,
>
> I made an attempt to create a self-contained binary executable archive
> that should be runnable on most 64bit Linux distributions that are not
> older than 6 years.
>
> Since I have only limited opportunity to test this on different
> distributions, I cannot be sure that I actually succeeded, so let's
> call this an experiment, and I would like to hear your feedback.
>
> If you want to try it: Just download the archive from:
>>
>>
>> https://ia601603.us.archive.org/30/items/SubsurfaceExecutablesSelfcontained/subsurface_301_selfcontained_linux_x86_64.tgz
>
>
> Notice that the size of the archive is just ~30MB, even though it
> is contains every shared library, including glibc, and is packed
> only using gzip (to help people that do not have xz at hand).
>
> For the rest of the instructions, I'm citing here the README.txt
> that is also within the archive:
>
>> This is a self-contained binary executable archive of Subsurface 3.0.1,
>> including all its dependencies.
>>
>> Installation:
>> =============
>>
>> Just unpack this directory to whereever you like - you don't need to be
>> "root" to do that, e.g.:
>>
>>  cd $HOME
>>  tar xzf subsurface_selfcontained.3.0.1.tgz
>>
>> This will create a subdirectory named "subsurface". DO NOT RENAME THE
>> "subsurface" DIRECTORY!
>> You can move it at any time whereever you want, but DO NOT RENAME IT.
>>
>> Running Subsurface:
>> ===================
>>
>> Just invoke the script "subsurface/start_scripts/subsurface", e.g.:
>>
>>   $HOME/subsurface/start_scripts/subsurface
>>
>> If you like, you can create a symbolic link from that script to somewhere
>> in your $PATH.
>>
>> Known Issues:
>> =============
>>
>> If your /etc/nsswitch.conf configuration contains a line like this:
>>
>>  hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname
>>
>> you will not be able to use online-services, including the OSM map, from
>> within
>> Subsurface, instead you will see error message like this:
>>
>> (subsurface:9621): libsoup-CRITICAL **: soup_session_real_requeue_message:
>> assertion `item != NULL' failed
>> (subsurface:9621): OsmGpsMap-WARNING **: Error downloading tile: 2 -
>> Cannot resolve hostname (...)
>>
>> This is because this glibc shipped with this archive cannot know each and
>> every service module that was invented later somewhere.
>>
>> But if you don't need such strange features as "Multicast DNS", you can
>> fix this
>> issue by changing the above mentioned line in /etc/nsswitch.conf to e.g.:
>>
>>  hosts:      files dns myhostname
>>
>>
>> DISCLAIMER:
>> ===========
>>
>> This free software comes without any warranty for anything.
>>
>> Do not use this "self contained" version if you have better options, like
>> retrieving a ready-made package from your Linux distribution or compiling
>> from the source - which, by the way, you can find at
>> http://subsurface.hohndel.org/
>>
>> Most libraries contained in this archive were compiled from their
>> public sources, some where copied from the free & open source Linux
>> distribution CentOS 5.6.
>>
>>
>> Enjoy!
>

in another thread i pointed out that this is a waste of energy and i
still think it is.

there seems to be an error in your script on Ubuntu 12.04 and Debian 6.04.
"line 45: cannot execute: No such file or directory"
exec "$D2/bin/$E" "$@"

but the fact it's a 30 MB download and the networking does not work
out of the box might be a deal break for most users.

lubomir
--


More information about the subsurface mailing list