Lotus 1-2-3 R3 for Linux 1.0.0rc4

Introduction to Lotus 1-2-3

Lotus 1-2-3 was a popular spreadsheet back in the 1980s and 1990s. This package is an unofficial port of it to Linux using the UNIX version as a base.

[Note]

Note

This package requires either a 32-bit system or a 64-bit system with 32-bit application support.

Additional Downloads

Lotus 1-2-3 Dependencies

Required

cpio

Installation of lotus123

First, apply a patch to bring the source up to the latest upstream commit:

patch -Np1 -i ../lotus123-1.0.0rc4-final-updates.patch

Then, in order to download the required disk images using Wget, execute the following commands:

for i in 1 2 3 4 5; do wget \
https://archive.org/download/123-unix/123UNIX$i.IMG; done
[Warning]

Warning

DO NOT use any other binutils versions than the one used in the book to compile this package. This is decades-old proprietary software, not ever meant to work on Linux, whose port to Linux was only possible because of technical issues with UNIXen of the day making it impossible to support third-party plugins without shipping object code. The format used for said object code is i386 COFF, which barely anyone uses these days. This version of binutils is the exact same one used in the upstream packaging scripts, and is known to have no critical issues regarding this format. If you use a different binutils version, you may very run into regressions which break the app in various ways. And if you do run into issues with this version of binutils, then you'll actually be able to report this upstream. If your binutils fails to build, DO NOT use a newer version. Report this to the LFS-QOL editors in order for this to be fixed for everyone without possibly opening up the door to critical regressions.

Now, compile the required parts of binutils with COFF support enabled:

tar -xvf ../binutils-2.38.tar.gz &&
cd binutils-2.38 &&
./configure --enable-targets=i386-pc-elf32 \
            --disable-gas                  \
            --disable-libctf               \
            --disable-plugins              \
            --disable-gprof                \
            --enable-compressed-debug-sections=none &&
make all-ld MAKEINFO=true &&
cd .. &&
cp -v binutils-2.38/binutils/obj{copy,dump} . &&
cp -v binutils-2.38/ld/ld-new ld

In order to compile Lotus 1-2-3, execute the following commands:

./extract.sh &&
sed -i 's/\-ltinfo//g' Makefile &&
sed -i 's/\-ltinfo//g' keymap/Makefile &&
sed -i 's/\-ltinfo//g' ttydraw/Makefile &&
make

Now, as the root user:

make prefix=/usr install

Command Explanations

sed -i 's/\-ltinfo//g' ...: This command avoids linking against an Ncurses library that wasn't built in LFS.

Contents

Installed Programs: 123
Installed Libraries: None
Installed Directories: /usr/share/lotus

Short Descriptions

123

is the spreadsheet app