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

Not able to install SBCL on MacOS #559

Open
jaketothepast opened this issue Jul 18, 2023 · 3 comments
Open

Not able to install SBCL on MacOS #559

jaketothepast opened this issue Jul 18, 2023 · 3 comments

Comments

@jaketothepast
Copy link

For better utilizing the limited human resources, please include the following
information when reporting an issue. Issues which do not follow the
format may be immediately closed without review.

Environment

# result of evaluating
# uname -a
➜  sbcl-2.3.6 uname -a
Darwin MacBook-Air.local 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct  9 20:15:52 PDT 2022; root:xnu-8792.41.9~2/RELEASE_ARM64_T8112 arm64

#ros --version    # if roswell runs successfully
➜  sbcl-2.3.6 ros --version
roswell 22.12.14.113(NO-GIT-REVISION)

# ros config
➜  sbcl-2.3.6 ros config
setup.time=3898699530
sbcl-bin.version=2.3.6
default.lisp=sbcl-bin

Possible subcommands:
set
show

We may assign explanatory tags to bad questions instead of replying to it.
See this famous text on how to ask good questions http://catb.org/~esr/faqs/smart-questions.html

How to reproduce the issue

ros install sbcl

Output

  Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {7005D7AA33}>
 with command ("/bin/bash" "-lc"
               "cd \"/Users/jacobwindle/.roswell/src/sbcl-2.3.6/\";/bin/bash ./make.sh '--xc-host=ros -L sbcl-bin without-roswell=t run -- --no-userinit --no-sysinit' '--prefix=/Users/jacobwindle/.roswell/impls/arm64/darwin/sbcl/2.3.6/'")
 exited with error code 2

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {7008BB0213}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {7005EC53B3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {7005EC53B3}>)
2: (INVOKE-DEBUGGER #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {7005EC53B3}>)
3: (CERROR "IGNORE-ERROR-STATUS" UIOP/RUN-PROGRAM:SUBPROCESS-ERROR :COMMAND ("/bin/bash" "-lc" #<(SIMPLE-BASE-STRING 218) cd "/Users/jacobwindle/.roswell/src/sbcl-2.3.6/";/bin/bash ./make.sh '--xc-host=ros -L sbcl-bin without-roswell=t run -- --no-userinit --no-sysinit' '--prefix=/Users/jacobwindle/.roswell/impls/arm64/d... {7005C88DDF}>) :CODE 2 :PROCESS #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {7005D7AA33}>)
4: (UIOP/RUN-PROGRAM::%CHECK-RESULT 2 :COMMAND ("/bin/bash" "-lc" #<(SIMPLE-BASE-STRING 218) cd "/Users/jacobwindle/.roswell/src/sbcl-2.3.6/";/bin/bash ./make.sh '--xc-host=ros -L sbcl-bin without-roswell=t run -- --no-userinit --no-sysinit' '--prefix=/Users/jacobwindle/.roswell/impls/arm64/d... {7005C88DDF}>) :PROCESS #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {7005D7AA33}> :IGNORE-ERROR-STATUS NIL)
5: (UIOP/RUN-PROGRAM::%USE-LAUNCH-PROGRAM ("/bin/bash" "-lc" #<(SIMPLE-BASE-STRING 218) cd "/Users/jacobwindle/.roswell/src/sbcl-2.3.6/";/bin/bash ./make.sh '--xc-host=ros -L sbcl-bin without-roswell=t run -- --no-userinit --no-sysinit' '--prefix=/Users/jacobwindle/.roswell/impls/arm64/d... {7005C88DDF}>) :OUTPUT T :IGNORE-ERROR-STATUS NIL)
6: (ROSWELL.INSTALL.SBCL::SBCL-MAKE (:TARGET "sbcl" :VERSION "2.3.6" :VERSION-NOT-SPECIFIED 0 :ARGV NIL))
7: (INSTALL-IMPL "sbcl" NIL NIL (#<FUNCTION (LAMBDA (ROSWELL.INSTALL::ARGV) :IN DECIDE-VERSION) {700907008B}> ROSWELL.INSTALL.SBCL::SBCL-ARGV-PARSE ROSWELL.INSTALL.SBCL::SBCL-START START #<FUNCTION (LAMBDA (ROSWELL.INSTALL::ARGV) :IN DECIDE-DOWNLOAD) {70091007CB}> ROSWELL.INSTALL.SBCL::SBCL-EXPAND ROSWELL.INSTALL.SBCL::SBCL-PATCH ROSWELL.INSTALL.SBCL::SBCL-CONFIG ROSWELL.INSTALL.SBCL::SBCL-MAKE ROSWELL.INSTALL.SBCL::SBCL-INSTALL ROSWELL.INSTALL.SBCL::SBCL-BACKUP-FEATURES ROSWELL.INSTALL.SBCL::SBCL-MAKE-ARCHIVE ...))
8: (INSTALL-IMPL-IF-PROBED "sbcl" NIL #<unavailable argument>)
9: (INSTALL NIL)
10: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE MAIN) ROSWELL:*ARGV*) #<NULL-LEXENV>)
11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) #<NULL-LEXENV>)
12: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL NIL)
13: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL)
14: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {7008B20213}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
15: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {7008B20213}> NIL)
16: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {102330B4B}> #<CONCATENATED-STREAM :STREAMS NIL {7008B20213}> NIL #<CONCATENATED-STREAM :STREAMS NIL {7008B20213}>)
17: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {7008B20213}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
18: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file /opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/install.ros" {7008B20003}>)
19: (ROSWELL:SCRIPT "/opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/install.ros" "sbcl")
20: (ROSWELL:RUN ((:EVAL "(ros:quicklisp)") (:SCRIPT "/opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/install.ros" "sbcl") (:QUIT NIL)))
21: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:SCRIPT "/opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/install.ros" "sbcl") (:QUIT NIL)))) #<NULL-LEXENV>)
22: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:SCRIPT "/opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/install.ros" "sbcl") (:QUIT NIL)))))
23: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/init.lisp\"))") (:EVAL . "(ros:run '((:eval\"(ros:quicklisp)\")(:script \"/opt/homebrew/Cellar/roswell/22.12.14.113/etc/roswell/install.ros\"\"sbcl\")(:quit ())))")))
24: (SB-IMPL::TOPLEVEL-INIT)
25: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
26: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
27: (SB-IMPL::%START-LISP)

I tried the compilation command manually

➜  sbcl-2.3.6 ./make.sh '--xc-host=ros -L sbcl-bin without-roswell=t run -- --no-userinit --no-sysinit -lzstd' '--prefix=/Users/jacobwindle/.roswell/impls/arm64/darwin/sbcl/2.3.6/'

Last few lines of output

echo '#include "genesis/config.h"' >sbcl.h
echo '#include "genesis/constants.h"' >>sbcl.h
save.c:45:11: fatal error: 'zstd.h' file not found
# include <zstd.h>
          ^~~~~~~~
1 error generated.
coreparse.c:49:11: fatal error: 'zstd.h' file not found
# include <zstd.h>
          ^~~~~~~~
1 error generated.
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o alloc.o alloc.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o arena.o arena.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o backtrace.o backtrace.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o breakpoint.o breakpoint.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o coalesce.o coalesce.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -fdollars-in-identifiers -fno-omit-frame-pointer -I.  -c -o coreparse.o coreparse.c
coreparse.c:49:11: fatal error: 'zstd.h' file not found
# include <zstd.h>
          ^~~~~~~~
1 error generated.
make: *** [coreparse.o] Error 1

And I have zstd installed already

➜  sbcl-2.3.6 brew search zstd
==> Formulae
zstd ✔                                                                                                    zsxd

Expected behavior

ros install sbcl # completes successfully

Actual result

Shown above.

@jaketothepast
Copy link
Author

I'm sorry if this is an easy issue, I'm still pretty new! I saw a note from another issue about using brew to install zstd but that didn't seem to help me. The C compiler still can't find that header. I can dig in but wondering if it's a common issue

@secsaba
Copy link

secsaba commented Feb 19, 2024

@jaketothepast try the following command:

LIBRARY_PATH=$(brew --prefix)/lib CPATH=$(brew --prefix)/include ros install sbcl

@vkz
Copy link

vkz commented May 19, 2024

Can confirm the issue persists as of:

# result of evaluating
# uname -a
% uname -a
Darwin ***** 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:37 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6031 arm64

#ros --version    # if roswell runs successfully
roswell 23.10.14.114(NO-GIT-REVISION)

# ros config
sbcl.version=2.4.4
setup.time=3925096159
sbcl-bin.version=2.4.4
default.lisp=sbcl-bin

as per @secsaba recommendation above explicitly setting envvars solves the issue:

LIBRARY_PATH=$(brew --prefix)/lib CPATH=$(brew --prefix)/include ros install sbcl

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

3 participants