Oldes / Rebol-issues

Issue tracker for https://github.com/oldes/Rebol3
4 stars 0 forks source link

Install steps #2570

Open OneArb opened 1 year ago

OneArb commented 1 year ago

I am looking for steps to install Oldes/Rebol3 for someone who forgot just about everything about Rebol...

For instance:

1) download / have compiler 2) gh repo clone Oldes/Rebol3 3) download Siskin Builder tool 4) download rebol3.nest 4.1) by the way ./siskin-linux-x86_64 -l does not list any egg present in the directory, although 4.2) ./siskin-linux-x86_64 rebol3.nest runs fine 5) [SISKIN] ** Error: Source file not found: /dev/R3/src/core/a-constants.c although I am running siskin from the git directory /dev/R3/Rebol3/ 6) I copied the git directory into the parent directory /dev/R3/, now compiling

/dev/R3/src/os/posix/host-readline.c:213:32: warning: 
implicit declaration of function ‘wcwidth’ [-Wimplicit-function-declaration]
  213 |                 width_count += wcwidth(wideChar);
      |                                ^~~~~~~

7) I presume I need all of

8) only Base compiles, otherwise for Rebol/Bulk linux-x64 linker errors follow:

/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_shift_r':
bignum.c:(.text+0x79f): undefined reference to `mbedtls_mpi_core_shift_r'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_add_abs':
bignum.c:(.text+0xa53): undefined reference to `mbedtls_mpi_core_add'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_sub_abs':
bignum.c:(.text+0xb37): undefined reference to `mbedtls_mpi_core_sub'
/usr/bin/ld: bignum.c:(.text+0xb6e): undefined reference to `mbedtls_mpi_core_sub_int'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_mul_mpi':
bignum.c:(.text+0xea9): undefined reference to `mbedtls_mpi_core_mla'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_mul_int':
bignum.c:(.text+0x1010): undefined reference to `mbedtls_mpi_core_mla'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_exp_mod':
bignum.c:(.text+0x1e07): undefined reference to `mbedtls_mpi_core_montmul_init'
/usr/bin/ld: bignum.c:(.text+0x2082): undefined reference to `mbedtls_mpi_core_montmul'
/usr/bin/ld: bignum.c:(.text+0x20dd): undefined reference to `mbedtls_mpi_core_montmul'
/usr/bin/ld: bignum.c:(.text+0x2391): undefined reference to `mbedtls_mpi_core_montmul'
/usr/bin/ld: bignum.c:(.text+0x2409): undefined reference to `mbedtls_mpi_core_montmul'
/usr/bin/ld: bignum.c:(.text+0x249a): undefined reference to `mbedtls_mpi_core_montmul'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o:bignum.c:(.text+0x2513): more undefined references to `mbedtls_mpi_core_montmul' follow
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_bitlen':
bignum.c:(.text+0x549): undefined reference to `mbedtls_mpi_core_bitlen'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_read_binary_le':
bignum.c:(.text+0x5b3): undefined reference to `mbedtls_mpi_core_read_le'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_read_binary':
bignum.c:(.text+0x603): undefined reference to `mbedtls_mpi_core_read_be'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_write_binary_le':
bignum.c:(.text+0x622): undefined reference to `mbedtls_mpi_core_write_le'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_write_binary':
bignum.c:(.text+0x642): undefined reference to `mbedtls_mpi_core_write_be'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_fill_random':
bignum.c:(.text+0x2a64): undefined reference to `mbedtls_mpi_core_fill_random'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/bignum.c.o: in function `mbedtls_mpi_random':
bignum.c:(.text+0x2ad8): undefined reference to `mbedtls_mpi_core_random'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/constant_time.c.o: in function `mbedtls_mpi_safe_cond_assign':
constant_time.c:(.text+0x16d): undefined reference to `mbedtls_mpi_core_cond_assign'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/constant_time.c.o: in function `mbedtls_mpi_safe_cond_swap':
constant_time.c:(.text+0x23c): undefined reference to `mbedtls_mpi_core_cond_swap'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/ecp_curves.c.o: in function `ecp_mod_p255':
ecp_curves.c:(.text+0x2a0): undefined reference to `mbedtls_mpi_core_mla'
/usr/bin/ld: make/tmp/gcc-x64/rebol3-bulk-linux-x64/dev/R3/src/core/mbedtls/rsa.c.o: in function `rsa_rsassa_pkcs1_v15_encode':
rsa.c:(.text+0xbc): undefined reference to `mbedtls_hash_info_get_size'
collect2: error: ld returned 1 exit status

9) regardless I got a running copy of REBOL/Base 3.9.1 (Oldes branch) 10) Isn't '0' supposed to exit Siskin? 11) Thank you!

Oldes commented 1 year ago

Hi, on which OS? All Rebol releases are compiled from Github actions... see this file: https://github.com/Siskin-framework/Builder/blob/master/.github/workflows/rebol.yml

Basically all you need is to clone the Builder repo... download existing Rebol for the hosting OS and run the siskin.r3 script... like here.

The Siskin Builder is just a customised Rebol with the embedded script. It is not needed, if you already have Rebol.

I don't see any compilation issues in the actions output.

Oldes commented 1 year ago

Btw... you don't need all Rebol versions (Base, Core, Bulk)... the Base version is almost useless, if you don't include other scripts and optional parts you need... it is there just like an almost minimum to get Rebol booted and for compilation test purposes. The Core includes more optional parts, but not all... like it does not include Brotli compression, which is very fat (almost 1MB uncompressed).

Oldes commented 1 year ago

To make it complete, here is the action to make Haiku builds and this one for Alpine Linux

Oldes commented 1 year ago

And FreeBSD builds are done on Cirrus CI using this script.

Oldes commented 1 year ago

The linker errors are there probably because some files were not compiled.. like src/core/mbedtls/bignum_core.c. The true is, that the builder does not stop when some file fails to compile, which it probably should.

Also it is strange, that your compiler does not know wcwidth... but I have no info, where you are compiling and what you are using, so hard to say:/