This is an old revision of the document!
More information on AmixBP (backports for Amix, not updated since 2009).
After downloading the desired files from sourceforge.net, to unpack them into the default location /opt/amixbp on your Amiga UNIX machine run the following command:
zoo xpq filename.tar.zoo | gtar -xvC / -f -
This will unpack the files to the correct location. If you'd rather not unpack straight into /opt/amixbp, you can unpack to your current directory by omitting the “C /” from the gtar options. This will create an opt/amixbp directory tree descending from your pwd. When unpacking the files, don't worry about errors regarding existing directories. This is normal.
You need to add /opt/amixbp/bin to your path. If you would like files installed to take precedence over the native utilities, add it to the front of your path. If you want to Amiga UNIX commands and utilities to take precedence, add it to the back of your path. In that case, to force the use of AmixBP software (for example: Amiga UNIX provides an old gcc, but so does AmixBP) you will need to specify the full path. ie: /opt/amixbp/bin/gcc
Installing the software is fairly simple. You will need bzip2 to handle the archives, this is provided here for the binary only. If you like, you can download the full bzip2 archive from the file galleries, which requires bzip2 to extract. To install the bzip2.Z file, as root do:
uncompress bzip2.Z chmod a+x bzip2 cp -p bzip2 /usr/bin
Now you have bzip2. To install any of the cpio.bz2 archives, become root (su), cd to / and do:
bzip2 -dc filename.cpio.bz2 | cpio -ivcdm
If you have the bzip2 archive installed, you can use bzcat instead of bzip2 -dc.
If you don't entirely trust the cpio archives, you can install them into a fake root tree and move the files later. For example, you can make a directory in /tmp, unarchive the file there, check it out, and move the directories out to / when you're satisfied.
Note that most archives will unpack to /usr/local, so you need to add directories like /usr/local/bin and /usr/local/sbin to your path if you want to execute them without explicitly specifying the location of the files (ie: instead of make you would have to do /usr/local/bin/make if /usr/local/bin is not in your path).
NCSA httpd 1.5.2a — successful on 1.1, AMIX gcc
gzip 1.3.5 — successful on 2.03, gcc-184.108.40.206
GNU screen 4.0.2 — successful on 2.03, gcc-220.127.116.11
GNU make 3.80 — successful on 2.03, gcc-18.104.22.168
wget 1.9.1 — successful on 2.03, gcc-22.214.171.124
Nethack 3.4 — successful on 2.03, gcc-126.96.36.199
apache 1.3.31 — successful on 2.03, gcc-188.8.131.52
gcc 2.4.5 — successful on 2.03, AMIX gcc, then recompiled with itself gcc 2.5.8 — successful on 2.03, gcc 2.4.5, then recompiled with itself gcc 2.6.3 — successful on 2.03, gcc 2.5.8, then recompiled with itself gcc 184.108.40.206 — successful on 2.03, gcc 2.6.3, then recompiled with itself ntp-4.2.0 — successful and working on 2.1 bash-1.14.7 — successful and working on 2.1 bash-3.0 — successful and working on 2.1, needs changes to compile (see below) bzip2 1.0.2 — successful and working on 2.1 rsync 2.6.3 — successful and working on 2.1 GNU tar 1.14 — successful and working on 2.1, needs changes to compile (see below) GNU coreutils 5.2.1 — successful and working on 2.1, needs changes to compile (see below) GNU patch 2.5.4 — successful and working on 2.1, needs changes to compile (see below) lynx 2.7.2 — successful and working on 2.1, needs changes to compile (see below) zlib 1.2.2 — successful and working on 2.1 perl 5.005_4 — successful and working on 2.1, care needed during configuration (see below) openssl 1.0.0d — successful and working on 2.1, needs changes to compile (see below)
amiwm 0.20pl48 — fails on 2.03, compiles, object files do not link, AMIX gcc gcc 2.95.3 — fails on 2.03, with gcc 220.127.116.11, collect2 has unresolved symbols (forget which, sys_sig.h?) binutils 2.15 — no m68k-cbm-sysv4 target for gas or ld, makes this useless pretty much apache 2.x — compilation failure mysql 4.x — compilation failure lynx 2.8.x — compilation failure, assembler takes a dump netrik — missing, uncompilable libraries w3m — missing, uncompilable libraries GNU gettext — nope (last tested on 2.03) GNU readline — nyet (last tested on 2.03, integrated readline on bash 3.0 compiled fine on 2.1) UNIX top 3.5.1 — Can get it to compile, but only displays one process (init), free mem is wrong, and crashes on update. wm2 — Wants ANSI C headers. Man, just ask for the world why dontcha?
WindowLab 1.32 Add -lnsl and -lsocket to EXTRA_LIBS in Makefile Comment out defines for shape extension in top of Makefile Change XROOT to /usr/X Change snprintf() in menufile.c to use sprintf(), remove “sizeof” parameter (Buffer overflows? What buffer overflows??). Rename windowlab.1x to windowlab, compress with compress and move to /usr/man/1X HOLY SHIT A WINDOW MANAGER COMPILED ON AMIX
CHANGES NEEDED changes needed for successful compilation on AMIX
bash 3.0 Needed to edit some stuff for libintl to compile…will redo this and add the info later GNU tar 1.14 Need to #include stdlib.h in src/xheader.c and src/incremen.c to provide free GNU patch 2.5.4 Edit argmatch.c, change strncasecmp call to strncmp lynx 2.7.2 Add “-DNO_BCOPY” to defines in Makefile for svr4 coreutils 5.2.1 Added #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) to lib/fts.c Perl 5.005_4 Compiled only standard extensions, shared objects Link gcc-18.104.22.168 cpp to /usr/local/bin/cpp to prevent use of ancient /usr/public/bin/cpp before running Configure Use my own malloc, do not use Perl malloc openssl 1.0.0d perl5 needed for compilation svr4 unsupported, run ./Configure gcc instead of ./config Define NO_STRINGS_H in Makefile CFLAGS edit crypto/o_str.c to change strings.h ifdef to use NO_STRINGS_H include sys/types.h in crypto/bio/bss_bio.c, replace all instances of ssize_t with size_t ifdef NO_STRINGS_H apps/apps.c add -lnsl -lsocket to EX_LIBS in apps/Makefile and in test/Makefile to fix lots of missing symbols prngd 0.9.29 Oh dear, one of these where you edit the Makefile and config.h manually, and oh generic sysv4 isn't supported so I have to make my own defines… Defined AMIX, copied SYSLIBS from NCR sysv4 entry AMIX doesn't have ssize_t is has size_t, many files need to be edited (add ifdefs later) AMIX closelog requires () made AMIX entry in config.h, provided file locations for entropy collection borrowed Solaris 7 prngd.conf file, need to fix it but it will work for now Seems to work, but will dump core if you fail to provide a socket to run on. Provide that socket… openssh 3.9p1 Proceeding well, now that I realize ldd expects to find everything in /usr/lib and/or /usr/ccs/lib and cannot be changed (permanently) without a recompile, and gee we don't have the sources for that guy Commented out include of shadow.h in auth.c and auth-shadow.c since it caused redefinition of struct spwd. This allowed compile to continue but I wonder if I'll be able to log in Compilation finished, now recompiling since AMIX doesn't have /dev/random and I need to use prngd for entropy…binaries seem to work otherwise Add #define PRNGD_SOCKET /var/run/egd-pool and #define PRNGD_PORT 708 to ssh-rand-helper.c so ssh actually uses prngd Works now but only root can login…others get setuid error…think I found a fix, add to config.h: #define SETEUID_BREAKS_SETUID 1, #define BROKEN_SETREUID 1, #define BROKEN_SETREGID 1 rhapsody 0.25b REQUIRES ncurses from DRASTIC UPGRADES file gallery add #define bzero(b, n) memset(b, '\0', n) to src/defines.h add #define strncasecmp(a, b, c) strncmp(a, b, c) to src/defines.h add #define strcasecmp(a, b) strcmp(a, b) to src/defines.h comment out #include strings.h in: src/screen.c, src/ctcp.c, src/dcc.c, src/main.c, src/config.c, src/comm.c, src/misc.c in main.c change #include <sys/signal.h> to #include “/usr/local/lib/gcc-lib/m68k-cbm-sysv4/22.214.171.124/include/sys/signal.h”
ANY modern window manager for X — Please