justinethier / cyclone

:cyclone: A brand-new compiler that allows practical application development using R7RS Scheme. We provide modern features and a stable system capable of generating fast native binaries.
http://justinethier.github.io/cyclone/
MIT License
823 stars 42 forks source link

Compiling on FreeBSD, fails with: Error: Invalid type: expected string, found : #505

Open ghost opened 1 year ago

ghost commented 1 year ago

Hello,

I am attempting to build Cyclone on FreeBSD-14 (CURRENT) on amd64. cyclone-bootstrap builds successfully, and I have created a FreeBSD Port of that (in my local working Ports tree), and have started on a package for Cyclone. The build for cyclone fails at:

===>   cyclone-scheme-0.35.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by cyclone-scheme-0.35.0 for building
===>  Extracting for cyclone-scheme-0.35.0
=> SHA256 Checksum OK for justinethier-cyclone-v0.35.0_GH0.tar.gz.
===>  Patching for cyclone-scheme-0.35.0
===>  Applying FreeBSD patches for cyclone-scheme-0.35.0 from /net/fafnir/git/freebsd/ports/main/lang/cyclone-scheme/files
===>   cyclone-scheme-0.35.0 depends on file: /usr/local/cyclone-bootstrap/bin/cyclone - found
===>   cyclone-scheme-0.35.0 depends on package: gmake>=4.3 - found
===>   cyclone-scheme-0.35.0 depends on shared library: libck.so - found (/usr/local/lib/libck.so)
===>   cyclone-scheme-0.35.0 depends on shared library: libtommath.so - found (/usr/local/lib/libtommath.so)
===>  Configuring for cyclone-scheme-0.35.0
===>  Building for cyclone-scheme-0.35.0
gmake[1]: Entering directory '/tmp/cyclone/net/fafnir/git/freebsd/ports/main/lang/cyclone-scheme/work/cyclone-0.35.0'
cc -O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing   -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Iinclude -c \
                                 \
                                -DCYC_INSTALL_DIR=\"/usr/local\" \
                                -DCYC_INSTALL_LIB=\"/usr/local/lib\" \
                                -DCYC_INSTALL_BIN=\"/usr/local/bin\" \
                                -DCYC_INSTALL_INC=\"/usr/local/include/cyclone\" \
                                -DCYC_INSTALL_SLD=\"/usr/local/share/cyclone\" \
                                -DCYC_CC_PROG=\""cc ~src-file~  -O2 -Wall ~cc-extra~ -I/usr/local/include -I/usr/local/include -c -o ~exec-file~.o"\" \
                                -DCYC_CC_EXEC=\""cc ~exec-file~.o ~obj-files~ -pthread -lcyclone -lck -lm -ltommath  -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Wl,--export-dynamic ~ld-extra~ -L/usr/local/lib -L/usr/local/lib -o ~exec-file~"\" \
                                -DCYC_CC_LIB=\""cc ~src-file~  -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Wl,--export-dynamic ~cc-extra~ -I/usr/local/include -I/usr/local/include -c -o ~exec-file~.o"\" \
                                -DCYC_CC_SO=\""cc -shared  -fstack-protector-strong -L/usr/local/lib  -L.  -Wl,--export-dynamic -o ~exec-file~.so ~exec-file~.o"\" \
                                -DCYC_PLATFORM=\"bsd\" \
                                runtime.c -o runtime.o
cc -O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing   -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Iinclude -std=gnu99 -c gc.c -o gc.o
cc -O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing   -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Iinclude -c ffi.c -o ffi.o
cc -O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing   -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Iinclude -c \
                                -DCYC_HAVE_OPEN_MEMSTREAM=1 \
                                -DCYC_HAVE_FMEMOPEN=1 \
                                mstreams.c -o mstreams.o
cc -O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing   -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -Iinclude -c hashset.c -o hashset.o
ar rcs libcyclone.a runtime.o gc.o ffi.o mstreams.o hashset.o
/usr/local/cyclone-bootstrap/bin/cyclone -A . cyclone.scm
Error: Invalid type: expected string, found :
<procedure 0x283a59020000>

gmake[1]: *** [Makefile:174: cyclone] Error 1
gmake[1]: Leaving directory '/tmp/cyclone/net/fafnir/git/freebsd/ports/main/lang/cyclone-scheme/work/cyclone-0.35.0'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /net/fafnir/git/freebsd/ports/main/lang/cyclone-scheme

LLVM-16 is the C compiler. I have patched both Cyclone and Cyclone-bootstrap to use the tommath libraries provided by the system.

justinethier commented 1 year ago

Very cool you are working on this!

Hmm. I can take a closer look but would need a working environment. Do you either have a system that I can connect to, or instructions for setting up your FreeBSD environment locally?

ghost commented 1 year ago

I will try and look at setting something up. Busy at the moment, so it be a couple of days. Thanks so much.

ghost commented 11 months ago

I have not forgotten this, unfortunately less exciting and boring life related crap has gotten in the way, I will return.