«
»

Error when using old run/bin installers under Linux

February 25th, 2007 by George Notaras

I guess that every single *nix user, at least once, has run across files with the *.run or *.bin extensions. These scripts are usually software installers and are widely used to distribute, but not limited to, proprietary software to the Unix world. Examples are the popular NVidia or ATI display drivers for Linux and other operating systems, the Sun Java Runtime Environment etc. Recently, I encountered some issues when trying to use such installers.

But first, some information about these scripts (installers). These are created with the makeself shell script, which actually creates self-extractable tar.gz archives. When launched, the installer does an archive integrity check and then extracts the included software to the desired location and performs all the programmed actions in order to make the installed software functional within the operating system.

Recently, I had to install the SecureFTP ftp client for linux, but the script errored out with some strange messages like not being able to uncompress the archive or about not being able to verify the archive’s checksum or about wrong command line parameters used in some command calls internally. This had happened in the past too, when I wanted to install the good old game Unreal Tournament (1999) so to revive some good memories. ;-)

Here are some of the weird error messages:

tail: cannot open `+187' for reading: No such file or directory

gunzip: stdin: not in gzip format

Verifying archive integrity...tail: cannot open `+6' for reading: No such file or directory
Error in check sums 1237260170 2341625838

As stated at the makeself website, archives created with Makeself older than v2.1.2 were using an old syntax for the head and tail Unix commands and there are problems uncompressing the included software.

In order to resolve this issue and make the installer “assume” that you use an old GNU/Linux version, you should export the following environment variable before using the installer:

export _POSIX2_VERSION=199209

After you finish installing the software, delete that ENV variable:

unset _POSIX2_VERSION

It took me a significant amount of time to learn about this workaround and, basically, I discovered it while searching for the software that creates these self-installing archives.

Hope this tip helps someone out there.

The Error when using old run/bin installers under Linux by George Notaras, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Terms and conditions beyond the scope of this license may be available at www.g-loaded.eu.

Related Articles

Tags: , , , , ,

Bookmark and Share

Comments are automatically disabled after a certain period of time. Further discussion about the published content is still possible though in the G-Loaded Forums.