Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install steps #2570

Open
OneArb opened this issue Sep 21, 2023 · 5 comments
Open

Install steps #2570

OneArb opened this issue Sep 21, 2023 · 5 comments

Comments

@OneArb
Copy link

OneArb commented Sep 21, 2023

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);
      |                                ^~~~~~~
  1. I presume I need all of
  • 4: Rebol/Base linux-x64
  • 5: Rebol/Core linux-x64
  • 6: Rebol/Bulk linux-x64
  1. 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
  1. regardless I got a running copy of REBOL/Base 3.9.1 (Oldes branch)
  2. Isn't '0' supposed to exit Siskin?
  3. Thank you!
@Oldes
Copy link
Owner

Oldes commented Sep 21, 2023

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
Copy link
Owner

Oldes commented Sep 21, 2023

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
Copy link
Owner

Oldes commented Sep 21, 2023

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

@Oldes
Copy link
Owner

Oldes commented Sep 21, 2023

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

@Oldes
Copy link
Owner

Oldes commented Sep 21, 2023

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:/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants