ciel-lang / CIEL

CIEL Is an Extended Lisp. Scripting with batteries included.
http://ciel-lang.org
350 stars 18 forks source link

macOS: make build -> CORESERVICES shared lib not found #61

Closed mikeivanov closed 2 months ago

mikeivanov commented 3 months ago

macOS 14.5 on M2

$ make build ... ; Loading "ciel" ............. To load "ciel/repl": Load 1 ASDF system: ciel/repl ; Loading "ciel/repl" Registering built-in scripts in src/scripts/ … scripts: registering apipointer scripts: registering finder scripts: registering quicksearch scripts: registering simpleHTTPserver scripts: registering webapp-notify scripts: registering webapp

==> Running load hooks. ==> Gathering system information. WARNING: Deploy does not currently support Darwin frameworks. WARNING: Deploy does not currently support Darwin frameworks. -> Will load the following foreign libs on boot: (# #

)

==> Deploying files to /Users/mike/opt/CIEL/bin/ WARNING: redefining ASDF/UPGRADE:UPGRADE-ASDF in DEFUN Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD tid=259 "main thread" RUNNING {7005F00423}>:

does not have a known shared library file path.

vindarel commented 3 months ago

Thanks for the report.

(I don't see "coreservices" in your error output.)

WARNING: Deploy does not currently support Darwin frameworks.

so, nothing to do yet, except contributing to Deploy? Well, there is some support: https://github.com/search?q=repo%3AShinmera%2Fdeploy+Darwin&type=code

(defun make-lib-pathname (name)
  (make-pathname :name (string name)
                 :type #+(and unix (not darwin)) "so"
                       #+darwin "dylib"
                       #+windows "dll"
                       #+nx "nro"
                       #-(or unix darwin windows nx)
                      (warn "Deploy does not currently support Darwin frameworks.")

does not have a known shared library file path.

looks related: https://github.com/Shinmera/deploy/issues/20 "# does not have a known shared library file path"


Are you able to build the core image? It doesn't evolve Deploy.

make image
vindarel commented 3 months ago

That being said, since the v0.2 of yesterday we don't rely any more on foreign libraries, except libreadline for the terminal REPL that we take for granted, we should be able to build the binary without Deploy, hence without this limitation.

vindarel commented 3 months ago

You could try this, build steps without Deploy: https://github.com/ciel-lang/CIEL/tree/build-without-deploy -> https://github.com/ciel-lang/CIEL/compare/master...build-without-deploy

tpmoney commented 3 months ago

(I don't see "coreservices" in your error output.)

Looks like that might have been a bug when they copied the output, I see the same thing on an M1 macbook air and it should be between the # and does not have...:

WARNING: Deploy does not currently support Darwin frameworks.
WARNING: Deploy does not currently support Darwin frameworks.
   -> Will load the following foreign libs on boot:
      (#<DEPLOY:LIBRARY READLINE> #<DEPLOY:LIBRARY LIBSSL>
       #<DEPLOY:LIBRARY LIBCRYPTO>)
 ==> Deploying files to ${HOME}/quicklisp/local-projects/CIEL/bin/
WARNING: redefining ASDF/UPGRADE:UPGRADE-ASDF in DEFUN
Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD tid=259 "main thread" RUNNING
                                    {70063206F3}>:
  #<LIBRARY CORESERVICES> does not have a known shared library file path.

Can confirm for me that make image on master and make build on the build-without-deploy branch works

vindarel commented 2 months ago

hope you'll confirm @mikeivanov

thanks @tpmoney I merge with your confirmation.

mikeivanov commented 2 months ago

Confirmed - working. Thanks.