Skip to content

How to build artifact locally? #26

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

Open
jcs090218 opened this issue Nov 14, 2024 · 8 comments
Open

How to build artifact locally? #26

jcs090218 opened this issue Nov 14, 2024 · 8 comments

Comments

@jcs090218
Copy link

Hi, I'm trying to build a build system for Common Lisp and am working on a command to build the artifact (.tgz) locally. Can you give me some tips on how to do this?

The code: https://github.com/cl-qob/cli/blob/master/lisp/core/package.lisp

@quicklisp
Copy link
Owner

quicklisp commented Nov 14, 2024 via email

@jcs090218
Copy link
Author

I'm getting this error after importing project-info.

Unhandled CFFI:LOAD-FOREIGN-LIBRARY-ERROR in thread #<SB-THREAD:THREAD tid=11820 "main thread" RUNNING
                                                       {1103F78093}>:
  Unable to load any of the alternatives:
   ("libcrypto-3-x64.dll" "libcrypto-1_1-x64.dll" "libeay32.dll")

Backtrace for: #<SB-THREAD:THREAD tid=11820 "main thread" RUNNING {1103F78093}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<CFFI:LOAD-FOREIGN-LIBRARY-ERROR "Unable to load any of the alternatives:~%   ~S" {11023E7113}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<CFFI:LOAD-FOREIGN-LIBRARY-ERROR "Unable to load any of the alternatives:~%   ~S" {11023E7113}>)
2: (INVOKE-DEBUGGER #<CFFI:LOAD-FOREIGN-LIBRARY-ERROR "Unable to load any of the alternatives:~%   ~S" {11023E7113}>)
3: (ERROR CFFI:LOAD-FOREIGN-LIBRARY-ERROR :FORMAT-CONTROL "Unable to load any of the alternatives:~%   ~S" :FORMAT-ARGUMENTS (("libcrypto-3-x64.dll" "libcrypto-1_1-x64.dll" "libeay32.dll")))
4: (CFFI::FL-ERROR "Unable to load any of the alternatives:~%   ~S" ("libcrypto-3-x64.dll" "libcrypto-1_1-x64.dll" "libeay32.dll"))
5: ((FLET CFFI::%DO-LOAD :IN CFFI::%DO-LOAD-FOREIGN-LIBRARY) #<CFFI:FOREIGN-LIBRARY LIBCRYPTO> LIBCRYPTO (:OR "libcrypto-3-x64.dll" "libcrypto-1_1-x64.dll" "libeay32.dll"))
6: (CFFI:LOAD-FOREIGN-LIBRARY LIBCRYPTO :SEARCH-PATH NIL)
7: ("top level form") [toplevel]
8: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for #<(SIMPLE-BASE-STRING 226) file C:\Users\JenChieh\AppData\Local\cache\common-lisp\sbcl-2.4.9-win-x64\C\Users\JenChieh\Documents\_lang\cl\cl-qob\cli\.qob\SBCL\2.4.9\quicklisp\dists\ultralisp\software\cl-plus-ssl-cl-plus-ssl-2023... {11023B663F}> {11023B6783}> :TABLE #(190 #1="C:/Users/JenChieh/Documents/_lang/cl/cl-qob/cli/.qob/SBCL/2.4.9/quicklisp/dists/ultralisp/software/cl-plus-ssl-cl-plus-ssl-20230802064926/src/reload.lisp" #2="/opt/local/lib/" :CL+SSL-MACPORTS-FOUND (#2# . #3=(:CL+SSL-MACPORTS-FOUND)) #4="/sw/lib/" :CL+SSL-FINK-FOUND (#4# . #5=(:CL+SSL-FINK-FOUND)) #6="/usr/local/opt/openssl/lib/" :CL+SSL-HOMEBREW-FOUND (#6# . #7=(:CL+SSL-HOMEBREW-FOUND)) "/opt/homebrew/opt/openssl/lib/" ...) :STACK #(0 #<FUNCTION "top level form" {1102255B2B}> *PACKAGE* DETECT-MACOS-CUSTOM-OPENSSL-INSTALLATIONS DETECT-CUSTOM-OPENSSL-INSTALLATIONS-IF-MACOS CL+SSL/CONFIG::*LIBCRYPTO-OVERRIDE* CL+SSL/CONFIG::*LIBSSL-OVERRIDE* *FEATURES* :CL+SSL-FOREIGN-LIBS-ALREADY-LOADED LIBCRYPTO LIBSSL ((:WINDOWS (:OR "libssl-3-x64.dll" "libssl-1_1-x64.dll" "libssl32.dll" "ssleay32.dll")) ((:AND :DARWIN . #3#) "/opt/local/lib/libssl.dylib") ((:AND :DARWIN . #5#) "/sw/lib/libssl.dylib") ((:AND :DARWIN :X86-64 . #7#) "/usr/local/opt/openssl/lib/libssl.dylib") ((:AND :DARWIN :ARM64 :CL+SSL-HOMEBREW-ARM64-FOUND) "/opt/homebrew/opt/openssl/lib/libssl.dylib") ((:AND :DARWIN :CL+SSL-PERSONALIZED-INSTALL-FOUND) "/usr/local/lib/libssl.dylib") (:DARWIN (:OR "/usr/lib/libssl.48.dylib" "/usr/lib/libssl.46.dylib" "/usr/lib/libssl.44.dylib" "/usr/lib/libssl.43.dylib" "/usr/lib/libssl.35.dylib" "libssl.dylib" "/usr/lib/libssl.dylib")) (:SOLARIS (:OR "/lib/64/libssl.so" "libssl.so.0.9.8" #8="libssl.so" "libssl.so.4")) (:OPENBSD #8#) ((AND :UNIX #) (:OR "libssl.so.1.1" "libssl.so.1.0.2m" "libssl.so.1.0.2k" "libssl.so.1.0.2" "libssl.so.1.0.1l" "libssl.so.1.0.1j" "libssl.so.1.0.1f" "libssl.so.1.0.1e" "libssl.so.1.0.1" "libssl.so.1.0.0q" "libssl.so.1.0.0" ...)) (:CYGWIN (:OR "cygssl-1.1.dll" "cygssl-1.0.0.dll")) (T (:DEFAULT "libssl3"))) ...) :NAME-BUFFER #("" "FIND-UNDELETED-PACKAGE-OR-LOSEADEDS-IF-MACOS") :PRINT NIL :PARTIAL-SOURCE-INFO #S(SB-C::DEBUG-SOURCE :NAMESTRING #1# :CREATED 3940597834 :START-POSITIONS NIL :PLIST NIL)))
9: ((LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL))
10: (SB-IMPL::CALL-WITH-LOADER-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL) {11023E233B}>)
11: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for #<(SIMPLE-BASE-STRING 226) file C:\Users\JenChieh\AppData\Local\cache\common-lisp\sbcl-2.4.9-win-x64\C\Users\JenChieh\Documents\_lang\cl\cl-qob\cli\.qob\SBCL\2.4.9\quicklisp\dists\ultralisp\software\cl-plus-ssl-cl-plus-ssl-2023... {11023B663F}> {11023B6783}> NIL NIL)
12: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for #<(SIMPLE-BASE-STRING 226) file C:\Users\JenChieh\AppData\Local\cache\common-lisp\sbcl-2.4.9-win-x64\C\Users\JenChieh\Documents\_lang\cl\cl-qob\cli\.qob\SBCL\2.4.9\quicklisp\dists\ultralisp\software\cl-plus-ssl-cl-plus-ssl-2023... {11023B663F}> {11023B6783}> T)
13: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {5FD51B}> #<SB-SYS:FD-STREAM for #<(SIMPLE-BASE-STRING 226) file C:\Users\JenChieh\AppData\Local\cache\common-lisp\sbcl-2.4.9-win-x64\C\Users\JenChieh\Documents\_lang\cl\cl-qob\cli\.qob\SBCL\2.4.9\quicklisp\dists\ultralisp\software\cl-plus-ssl-cl-plus-ssl-2023... {11023B663F}> {11023B6783}> T #<SB-SYS:FD-STREAM for #<(SIMPLE-BASE-STRING 226) file C:\Users\JenChieh\AppData\Local\cache\common-lisp\sbcl-2.4.9-win-x64\C\Users\JenChieh\Documents\_lang\cl\cl-qob\cli\.qob\SBCL\2.4.9\quicklisp\dists\ultralisp\software\cl-plus-ssl-cl-plus-ssl-2023... {11023B663F}> {11023B6783}>)
14: (LOAD #P#<(SIMPLE-ARRAY CHARACTER (221)) C:/Users/JenChieh/AppData/Local/cache/common-lisp/sbcl-2.4.9-win-x64/C/Users/JenChieh/Documents/_lang/cl/cl-qob/cli/.qob/SBCL/2.4.9/quicklisp/dists/ultralisp/software/cl-plus-ssl-cl-plus-ssl-202308020... {110242C29F}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
15: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {11023B59AB}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
16: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl+ssl" "src" "reload">)
17: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
18: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl+ssl" "src" "reload">) [fast-method]
19: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl+ssl" "src" "reload">) [fast-method]
20: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1100BFF283}>) [fast-method]
21: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
22: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1100BFF283}>) [fast-method]
23: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "quicklisp-controller"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
24: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "quicklisp-controller"> :VERBOSE NIL)
25: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
26: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "quicklisp-controller"> :VERBOSE NIL) [fast-method]
27: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "quicklisp-controller" :VERBOSE NIL)
28: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
29: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "quicklisp-controller" :VERBOSE NIL) [fast-method]
30: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1100C44B6B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
31: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
32: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1100C3AACB}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
33: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "quicklisp-controller" :VERBOSE NIL) [fast-method]
34: (ASDF/OPERATE:LOAD-SYSTEM "quicklisp-controller" :VERBOSE NIL)
35: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1100C3AA3B}>)
36: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "quicklisp-controller" :PROMPT NIL)
37: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1100C2461B}>) [fast-method]
38: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {1104494703}> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1100C2461B}>) [fast-method]
39: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) "quicklisp-controller" :PROMPT NIL :SILENT T :VERBOSE NIL) [fast-method]
40: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {1100C19FFB}>)
41: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD "quicklisp-controller" :SILENT T) #<NULL-LEXENV>)
42: (SB-EXT:EVAL-TLF (QUICKLISP-CLIENT:QUICKLOAD "quicklisp-controller" :SILENT T) 3 NIL)
43: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (QUICKLISP-CLIENT:QUICKLOAD "quicklisp-controller" :SILENT T) 3)
44: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (QUICKLISP-CLIENT:QUICKLOAD "quicklisp-controller" :SILENT T) :CURRENT-INDEX 3)
45: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {5FEFEB}> #<SB-C::SOURCE-INFO {11039A5333}> SB-C::INPUT-ERROR-IN-LOAD)
46: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\bin\\lisp\\core\\package.lisp" {11039E0003}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
47: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\bin\\lisp\\core\\package.lisp" {11039E0003}> NIL)
48: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {5FF3AB}> #<SB-SYS:FD-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\bin\\lisp\\core\\package.lisp" {11039E0003}> NIL #<SB-SYS:FD-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\bin\\lisp\\core\\package.lisp" {11039E0003}>)
49: (LOAD #<SB-SYS:FD-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\bin\\lisp\\core\\package.lisp" {11039E0003}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
50: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\bin\\lisp\\core\\package.lisp" {11039E0003}>)
51: ((FLET SB-UNIX::BODY :IN SB-IMPL::PROCESS-SCRIPT))
52: ((FLET "WITHOUT-INTERRUPTS-BODY-" :IN SB-IMPL::PROCESS-SCRIPT))
53: (SB-IMPL::PROCESS-SCRIPT "C:/Users/JenChieh/Documents/_lang/cl/cl-qob/cli/bin/lisp/core/package.lisp")
54: (SB-IMPL::TOPLEVEL-INIT)
55: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
56: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
57: (SB-IMPL::%START-LISP)
58: ("foreign function: #x140045B55")
59: ("foreign function: #x14000A090")

@quicklisp
Copy link
Owner

quicklisp commented Nov 15, 2024 via email

@jcs090218
Copy link
Author

I've installed missing dlls but got the error:

;
; caught ERROR:
;   READ error during COMPILE-FILE:
;
;     Symbol "FCHDIR" not found in the SB-POSIX package.
;
;       Line: 69, Column: 27, File-Position: 2429
;
;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file C:\\Users\\JenChieh\\Documents\\_lang\\cl\\cl-qob\\cli\\.qob\\SBCL\\2.4.9\\quicklisp\\local-projects\\quicklisp-controller\\commands.lisp" {1109D6FDC3}>
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD tid=23792 "main thread" RUNNING
                                                          {11000301D3}>:
  COMPILE-FILE-ERROR while
  compiling #<CL-SOURCE-FILE "quicklisp-controller" "commands">

quicklisp-controller has not been tested on Windows so it might not work
for you very well. If you are trying to make tarball files from git
checkouts, writing some new functions to do it might be easier than
understanding and adapting quicklisp-controller.

I'm trying to simulate the Quicklisp server build process so developers can be more confident in their CL projects and ensure their systems can be built and successfully published to Quicklisp. Therefore, adapting the quiclisp-controller is almost a must. 🤔

@quicklisp
Copy link
Owner

quicklisp commented Nov 15, 2024 via email

@jcs090218
Copy link
Author

If you really want to use quicklisp-controller, it will be much easier on a Linux system.

Would you consider making quicklisp-controller easier on Windows? To be honest, I intentionally chose to build on Windows to do the hard tasks first, then do the easier tasks later (Linux and macOS).

Of course, it's understandable if you choose not to.

@quicklisp
Copy link
Owner

quicklisp commented Nov 15, 2024 via email

@jcs090218
Copy link
Author

I'll try it on Linux the other day since I don't have the machine.

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