all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#44548: SBCL build system fails to pacakge cl-environments, generic-cl.
@ 2020-11-10  9:34 Pierre Neidhardt
       [not found] ` <handler.44548.B.160500089826833.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Pierre Neidhardt @ 2020-11-10  9:34 UTC (permalink / raw)
  To: 44548

[-- Attachment #1: Type: text/plain, Size: 5187 bytes --]

Hi!

I'm trying to package generic-cl on staging where the SBCL build system
has been revamped by Guillaume.

--8<---------------cut here---------------start------------->8---
(define-public sbcl-generic-cl
  (package
    (name "sbcl-generic-cl")
    (version "0.7.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/alex-gutev/generic-cl")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1jjg1d221a667wacbrh7abswrkzq6c9qwapdfh0frzl0la9xjz2f"))))
    (build-system asdf-build-system/sbcl)
    (inputs
     `(("agutil" ,sbcl-agutil)
       ("alexandria" ,sbcl-alexandria)
       ("anaphora" ,sbcl-anaphora)
       ("arrows" ,sbcl-arrows)
       ("cl-custom-hash-table" ,sbcl-custom-hash-table)
       ("static-dispatch" ,sbcl-static-dispatch)
       ("trivia" ,sbcl-trivia)))
    (native-inputs
     `(("prove" ,sbcl-prove)))
    (home-page "https://alex-gutev.github.io/generic-cl/")
    (synopsis "")
    (description "")
    (license license:expat)))
--8<---------------cut here---------------end--------------->8---

It fails with

--8<---------------cut here---------------start------------->8---
; wrote /gnu/store/hkr132gc9ra2pnx16lbvl66pn86w11nx-sbcl-generic-cl-0.7.1/.cache/common-lisp/sbcl-2.0.10-linux-x64/gnu/store/d99q6jgx4xqw7fnk8vhb1xaqqc4h65fl-cl-environments-0.2.3-1.bbcd958/share/common-lisp/source/cl-environments/src/tools/types-tmp1CXFJSK9.fasl
; compilation finished in 0:00:00.012
Unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                {1008248303}>:
  Error opening #P"/gnu/store/jzwgprixssmzm8yc76gh0ir1cw9myr4b-sbcl-static-dispatch-0.3-1.6243afc/lib/common-lisp/sbcl/static-dispatch/src/package-tmpX4BRKI0R.fasl":

    Permission denied
--8<---------------cut here---------------end--------------->8---

My suspicion is that generic-cl depends on sbcl-static-dispatch, which
depends on cl-environments, which is a _source_ package and not an SBCL package.

Indeed, I fail to package sbcl-cl-environments:

--8<---------------cut here---------------start------------->8---
(define-public sbcl-cl-environments
  (let ((commit "bbcd958a9ff23ce3e6ea5f8ee2edad9634819a3a")) ; No version in 2 years.
    (package
      (name "sbcl-cl-environments")
      (version (git-version "0.2.3" "1" commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/alex-gutev/cl-environments")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32
           "1pfxl3vcdrb4mjy4q4c3c7q95kzv6rfjif3hzd5q91i9z621d64r"))))
      (build-system asdf-build-system/sbcl)
      (inputs
       `(("alexandria" ,sbcl-alexandria)
         ("anaphora" ,sbcl-anaphora)
         ("collectors" ,sbcl-collectors)
         ("optima" ,sbcl-optima)))
      (native-inputs
       `(("prove" ,sbcl-prove)))
      (home-page "https://github.com/alex-gutev/cl-environments")
      (synopsis "Implements the Common Lisp standard environment access API")
      (description "This library provides a uniform API, as specified in Common
Lisp the Language 2, for accessing information about variable and function
bindings from implementation-defined lexical environment objects.  All major
Common Lisp implementations are supported, even those which don't support the
CLTL2 environment access API.")
      (license license:expat))))
--8<---------------cut here---------------end--------------->8---

It errors out with

--8<---------------cut here---------------start------------->8---
; file: /gnu/store/xhgnh1yx8z999dx5qnxc0h3iwh1s836j-sbcl-cl-environments-0.2.3-1.bbcd958/share/common-lisp/sbcl/cl-environments/src/common/macro-util.lisp
; in: DEFMACRO! MATCH-STATE
;     (CL-ENVIRONMENTS.UTIL:LET-IF ((CL-ENVIRONMENTS.UTIL::START
;                                    (SECOND CL-ENVIRONMENTS.UTIL::STATES) :START)
;                                   (CL-ENVIRONMENTS.UTIL::BODY
;                                    (CDDR CL-ENVIRONMENTS.UTIL::STATES)
;                                    CL-ENVIRONMENTS.UTIL::STATES))
;         (EQ (FIRST CL-ENVIRONMENTS.UTIL::STATES) :START)
;       `(LABELS ((,CL-ENVIRONMENTS.UTIL::G!NEXT
;                     (,CL-ENVIRONMENTS.UTIL::FROM-STATE
;                      ,CL-ENVIRONMENTS.UTIL::G!FORCE ,CL-ENVIRONMENTS.UTIL::G!ARG)
;                   (OPTIMA:MULTIPLE-VALUE-MATCH #
;                     ,@#)))
;          (,CL-ENVIRONMENTS.UTIL::G!NEXT ,CL-ENVIRONMENTS.UTIL::START NIL
;           ,CL-ENVIRONMENTS.UTIL::ARG)))
; 
; caught ERROR:
;   during macroexpansion of
;   (LET-IF (# #)
;       (EQ # :START)
;     ...).
;   Use *BREAK-ON-SIGNALS* to intercept.
;   
;    The function CL-ENVIRONMENTS.UTIL::GENSYMS is undefined.
--8<---------------cut here---------------end--------------->8---

Guillaume, any clue what's going on?

--
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.)
       [not found] ` <handler.44548.B.160500089826833.ack@debbugs.gnu.org>
@ 2020-11-10  9:51   ` Pierre Neidhardt
  2020-11-10 10:45     ` Guillaume Le Vaillant
  0 siblings, 1 reply; 6+ messages in thread
From: Pierre Neidhardt @ 2020-11-10  9:51 UTC (permalink / raw)
  To: 44548

[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]

If I build manually it works:

--8<---------------cut here---------------start------------->8---
> sbcl --no-userinit
* (require :asdf)
("ASDF" "asdf" "UIOP" "uiop")

* (asdf:load-asd (truename "/gnu/store/pr52bqxa2kf1n8jadhzw4rjsl3jjk6yl-sbcl-cl-environments-0.2.3-1.bbcd958/share/common-lisp/sbcl/cl-environments/cl-environments.asd"))
#<ASDF/FIND-SYSTEM:DEFINE-OP >
#<ASDF/PLAN:SEQUENTIAL-PLAN {100287B6A3}>

* (asdf:compile-system "cl-environments")
WARNING: System definition file #P"/home/ambrevar/common-lisp/collectors/collectors.asd" contains definition for system "collectors-test". Please only define "collectors" and secondary systems with a name starting with "collectors/" (e.g. "collectors/test") in that file.
WARNING: System definition file #P"/gnu/store/n3sgz03ylnxprkbzj8f20zxvpldfxbcl-cl-symbol-munger-0.0.1-1.97598d4/share/common-lisp/source/cl-symbol-munger/symbol-munger.asd" contains definition for system "symbol-munger-test". Please only define "symbol-munger" and secondary systems with a name starting with "symbol-munger/" (e.g. "symbol-munger/test") in that file.
T
--8<---------------cut here---------------end--------------->8---

The above builds against a local version of collectors, not sure that's
related though.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.)
  2020-11-10  9:51   ` bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.) Pierre Neidhardt
@ 2020-11-10 10:45     ` Guillaume Le Vaillant
  2020-11-10 11:34       ` Pierre Neidhardt
  0 siblings, 1 reply; 6+ messages in thread
From: Guillaume Le Vaillant @ 2020-11-10 10:45 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 44548

[-- Attachment #1: Type: text/plain, Size: 2530 bytes --]


It looks like the files in "src/common/" must be compiled in a specific
order because some files depend on others, but the system definition has
neither the ":depends-on xyx" nor the ":serial t" indications. It causes
the functions defined in "src/common/util.lisp" not being available when
compiling "src/common/macro-util.lisp".
I'm not sure why it fails with asdf-build-system/sbcl but it succeeds
with Quicklisp though; different versions of ASDF maybe, or slightly
different initialization of ASDF...

By adding the missing ":serial t" I was able to build sbcl-cl-environments:

--8<---------------cut here---------------start------------->8---
(define-public sbcl-cl-environments
  ;; TODO: asdf-build-system/sbcl fails here, why?  See if it works with the
  ;; build system revamp once staging is merged after 2020-11-09.
  (let ((commit "bbcd958a9ff23ce3e6ea5f8ee2edad9634819a3a")) ; No version in 2 years.
    (package
      (name "sbcl-cl-environments")
      (version (git-version "0.2.3" "1" commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/alex-gutev/cl-environments")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32
           "1pfxl3vcdrb4mjy4q4c3c7q95kzv6rfjif3hzd5q91i9z621d64r"))))
      (build-system asdf-build-system/sbcl)
      (propagated-inputs
       `(("alexandria" ,sbcl-alexandria)
         ("anaphora" ,sbcl-anaphora)
         ("collectors" ,sbcl-collectors)
         ("optima" ,sbcl-optima)))
      (native-inputs
       `(("prove" ,sbcl-prove)))
      (arguments
       `(#:phases
         (modify-phases %standard-phases
           (add-after 'unpack 'fix-build
             (lambda _
               (substitute* "cl-environments.asd"
                 ((":module \"common\"" all)
                  (string-append all " :serial t")))
               #t)))))
      (home-page "https://github.com/alex-gutev/cl-environments")
      (synopsis "Implements the Common Lisp standard environment access API")
      (description "This library provides a uniform API, as specified in Common
Lisp the Language 2, for accessing information about variable and function
bindings from implementation-defined lexical environment objects.  All major
Common Lisp implementations are supported, even those which don't support the
CLTL2 environment access API.")
      (license license:expat))))
--8<---------------cut here---------------end--------------->8---

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.)
  2020-11-10 10:45     ` Guillaume Le Vaillant
@ 2020-11-10 11:34       ` Pierre Neidhardt
  2020-11-10 11:47         ` Pierre Neidhardt
  0 siblings, 1 reply; 6+ messages in thread
From: Pierre Neidhardt @ 2020-11-10 11:34 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 44548

[-- Attachment #1: Type: text/plain, Size: 669 bytes --]

Good catch!

It also does the trick for generic-cl:

--8<---------------cut here---------------start------------->8---
(arguments
 `(#:tests? #f
   #:phases
     (modify-phases %standard-phases
       (add-after 'unpack 'fix-compile-order
         (lambda _
           (substitute* "generic-cl.asd"
             ((":module \"src\"") ":module \"src\" :serial t")))))))
---------------cut here---------------end--------------->8---

I don't understand why it works outside our build system.
It works when I run SBCL locally, so technically with the same ASDF.

I'll ask upstream, maybe they have a clue.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.)
  2020-11-10 11:34       ` Pierre Neidhardt
@ 2020-11-10 11:47         ` Pierre Neidhardt
  2021-05-04 13:01           ` Guillaume Le Vaillant
  0 siblings, 1 reply; 6+ messages in thread
From: Pierre Neidhardt @ 2020-11-10 11:47 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 44548

[-- Attachment #1: Type: text/plain, Size: 114 bytes --]

Reported here: https://github.com/alex-gutev/generic-cl/issues/7

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.)
  2020-11-10 11:47         ` Pierre Neidhardt
@ 2021-05-04 13:01           ` Guillaume Le Vaillant
  0 siblings, 0 replies; 6+ messages in thread
From: Guillaume Le Vaillant @ 2021-05-04 13:01 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 44548-done

[-- Attachment #1: Type: text/plain, Size: 119 bytes --]

The cl-environments and generic-cl packages are currently in Guix
(36d4877041e0651d1af56b47127b8566c0fd0259).
Closing.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-05-04 13:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-10  9:34 bug#44548: SBCL build system fails to pacakge cl-environments, generic-cl Pierre Neidhardt
     [not found] ` <handler.44548.B.160500089826833.ack@debbugs.gnu.org>
2020-11-10  9:51   ` bug#44548: Acknowledgement (SBCL build system fails to pacakge cl-environments, generic-cl.) Pierre Neidhardt
2020-11-10 10:45     ` Guillaume Le Vaillant
2020-11-10 11:34       ` Pierre Neidhardt
2020-11-10 11:47         ` Pierre Neidhardt
2021-05-04 13:01           ` Guillaume Le Vaillant

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.