rebolrebol3

Rebol3 make prep on Debian 8 fails with Script error: invalid argument: %../os/none


When I try to run make prep on 64-bit Debian the build fails with the error message

Compressed 11626 to 3357 bytes: 28 percent of original

./r3-make -qs ../src/tools/make-os-ext.r # ok, but not always
--- Make OS Ext Lib --- Version: 0
** Script error: invalid argument: %../os/none
** Where: change-dir do either either either -apply-
** Near: change-dir append %../os/none target files: [
%host-lib....

Do I need to remake the make file and what is the correct OS_ID for this version of Debian? Is there a list of valid OS_ID values? I plan to build rebol3 on other platforms, e.g. AROS i386.

The source was downloaded as a zip file from rebol github repo and I downloaded the linux x64 binary from here. After copying the binary to the make sub-dir and renaming it r3-make, I entered the command make prep from the make sub-dir.


Solution

  • The full, canonical list of steps to build Rebol 3 (from either the "mainline" repository at https://github.com/rebol/rebol; or the "community" repository at https://github.com/rebolsource/r3), at the moment, are:

    1. Fetch a Rebol 3 source distribution.
    2. Download a pre-built Rebol 3 binary for your platform, save it as r3-make (or r3-make.exe, if on Windows) in the make/ subdirectory of your sources.
    3. From a terminal, in the make/ subdirectory of your sources, run:
      1. make make OS_ID=<tyour-target-platform>
      2. make clean
      3. make prep
      4. make r3 (or make r3.exe, if on Windows)

    Where <tuple-of-your-target-platform> is a Rebol tuple! with the Rebol platform code of the target you want to build for. A few common target tuples:

    For more, have a look at the src/tools/systems.r coming with your sources.

    For your particular situation, there's two caveats to note:

    1. Mainline rebol/rebol has no 64-bit support whatsoever, at the moment. (But see footnote 1.)
    2. The r3-make binary you use must itself be built to a target the build system for the new R3 you intend to build knows about.

    The combination of these two caveats, when applied to your particular situation, means that you can't use a 64-bit (0.4.40) r3-make (the Linux x64 binary you obtained from https://www.rebolsource.net) to bootstrap a build for sources which don't know about 0.4.40 -- and, indeed the sources you obtained from https://github.com/rebol/rebol don't know about 0.4.40.


    Footnote 1: 64-bit support where above build instructions will work is available in the rebolsource/r3 fork. Other forks (such as Atronix', Saphirion's, or the most recent unifying effort, Ren/C) also support 64-bit builds, but build instructions for those generally differ.