Lotus 1-2-3 R3 for Linux 1.0.0rc4

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 3. General Utilities

- Prev

  jstest-sdl-710687

- Next

  lrzsz-0.12.20

- Up
- Home

# 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

This package requires either a 32-bit system or a 64-bit system with 32-bit application support via projects like Multilib LFS. Base MLFS should be good enough and you shouldn't need anything else for 32-bit.

- Download: https://github.com/taviso/123elf/archive/v1.0.0rc4/123elf-1.0.0rc4.tar.gz

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/slfs/view/13.0/download/lotus123/lotus123-1.0.0rc4-final-updates.patch

- Required binutils version: https://ftpmirror.gnu.org/gnu/binutils/binutils-2.38.tar.gz

### 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

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 SLFS 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

- Prev

  jstest-sdl-710687

- Next

  lrzsz-0.12.20

- Up
- Home