1

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.

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
kjanz1899
  • 47
  • 7
  • Could you please add two bits of information: (1) which repository of R3 sources you use/intend to build; (2) the exact list of build commands you entered leading up to the error. Please just edit your original question to update it with this information. – earl Jun 01 '15 at 17:33
  • Thanks earl! I updated the question per your request and I hope this helps. I literally entered one command: `make prep` when I received the error. – kjanz1899 Jun 01 '15 at 23:08
  • After examining src/tools/make-os-ext.r I noticed that `config-system/os-dir` returns _none_. – kjanz1899 Jun 04 '15 at 02:17
  • Do you intend to build it as 64bit or as 32bit? The rebol/rebol repo doesn't support 64bit builds at the moment if you want a 64bit then you'll need to use the rebolsource/r3 repo. Valid platforms are under src/tools/systems.r3 – iceflow19 Jun 04 '15 at 12:28
  • I pulled the source from rebolsource/r3 repo and successfully built r3 on Debian. Now I'm tweaking the makefile to cross-compile for AROS i386. – kjanz1899 Jun 06 '15 at 00:52

1 Answers1

1

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:

  • 0.2.5: 32-bit OSX x86.
  • 0.3.1: 32-bit Windows x86
  • 0.4.4: 32-bit Linux x86

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.

earl
  • 40,327
  • 6
  • 58
  • 59