Error when using old run/bin installers under Linux

4 Comments

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.

Error when using old run/bin installers under Linux by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright © 2007 - Some Rights Reserved

George Notaras avatar

About George Notaras

George Notaras is the editor of the G-Loaded Journal, a technical blog about Free and Open-Source Software. George, among other things, is an enthusiast self-taught GNU/Linux system administrator. He has created this web site to share the IT knowledge and experience he has gained over the years with other people. George primarily uses CentOS and Fedora. He has also developed some open-source software projects in his spare time.

4 responses on “Error when using old run/bin installers under Linux

  1. James Carroll Permalink →

    Thanks so much for this info. I was banging my head against the wall trying to apply the patches to the old railroad tycoon II game from loki. What was really killing me was I remembered that I had done it in the past. Thanks again.

  2. George Notaras Post authorPermalink →

    James, I’m glad you found this information useful. I recall me banging my head as well while trying to install a game, Unreal Tournament, under Linux using the Loki installer.

  3. Ode Permalink →

    Thanks George, this fixed the issue i was having extracting the Modem driver for an old ibm t23 with CrunchBang.

  4. Tonda Permalink →

    I have probably the same problem (extraction failed) but this didn’t help help.