djbsort

The following instructions are for Debian/Ubuntu systems. Other modern Linux/BSD/UNIX systems should work with minor adjustments to the instructions. These instructions need the following packages:

Download, unpack, compile, test, install

In a root terminal, create a djbsort user:

    adduser --disabled-password --gecos djbsort djbsort

Run a shell as that user:

    su - djbsort
    chmod 755 $HOME
    umask 022

As that user, download and unpack the latest version of djbsort:

    wget -m https://sorting.cr.yp.to/djbsort-latest-version.txt
    version=$(cat sorting.cr.yp.to/djbsort-latest-version.txt)
    wget -m https://sorting.cr.yp.to/djbsort-$version.tar.gz
    tar -xzf sorting.cr.yp.to/djbsort-$version.tar.gz
    cd djbsort-$version
    ln -s $HOME link-build
    ln -s $HOME link-install

Compile, test, and install:

    ./do

The last line of a successful compile-test-install run is "benchmark finishing successfully". Exit the user shell:

    exit

That's it.

Options

Compiler options

./do tries a list of compilers in compilers/c, keeping the fastest working implementation of each primitive. Before running ./do you can edit compilers/c to adjust compiler options or to try additional compilers.

Multi-ABI support

If you put both 32-bit and 64-bit compilers into compilers/c then ./do will produce both 32-bit and 64-bit libraries, available through lib-x86 and lib-amd64 (on Intel/AMD CPUs) or lib-armeabi and lib-aarch64 (on ARM CPUs). You should put the 64-bit compilers first so that they are used (if possible) for the command-line tools.


Version: This is version 2018.08.03 of the "Installation" web page.