qitab / cl-protobufs

Common Lisp protocol buffer implementation.
MIT License
78 stars 17 forks source link

Some systems failed to build for Quicklisp dist #384

Open quicklisp opened 1 year ago

quicklisp commented 1 year ago

Building with SBCL 2.3.1.43-c2e7dcbd6 / ASDF 3.3.5 for quicklisp dist creation.

Trying to build commit id 6300379d715eefbda646e85283e7cbc741bfa072

cl-protobufs fails to build with the following error:

; caught COMMON-LISP:ERROR:
;   (during macroexpansion of (PI:DEFINE-MESSAGE FIELD-DESCRIPTOR-PROTO ...))
;   The value TYPE-DOUBLE is not of type KEYWORD when setting slot PI::NAME of structure CL-PROTOBUFS:ENUM-VALUE-DESCRIPTOR
...
; caught COMMON-LISP:ERROR:
;   (during macroexpansion of (PI:DEFINE-MESSAGE FILE-OPTIONS ...))
;   The value SPEED is not of type KEYWORD when setting slot PI::NAME of structure CL-PROTOBUFS:ENUM-VALUE-DESCRIPTOR
...
; caught COMMON-LISP:ERROR:
;   (during macroexpansion of (PI:DEFINE-MESSAGE FIELD-OPTIONS ...))
;   The value STRING is not of type KEYWORD when setting slot PI::NAME of structure CL-PROTOBUFS:ENUM-VALUE-DESCRIPTOR
...
; caught COMMON-LISP:ERROR:
;   (during macroexpansion of (PI:DEFINE-MESSAGE METHOD-OPTIONS ...))
;   The value IDEMPOTENCY-UNKNOWN is not of type KEYWORD when setting slot PI::NAME of structure CL-PROTOBUFS:ENUM-VALUE-DESCRIPTOR
...
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001720003}>: COMPILE-FILE-ERROR while compiling #<PROTOBUF-SOURCE-FILE "cl-protobufs" "well-known-types" "descriptor">

cl-protobufs/tests fails to build because of a failure in cl-protobufs.

Full log here

Slids commented 1 year ago

My guess is you didn't recompile protoc? We did updates that break without recompiling protoc.

kingrongH commented 1 year ago

I have encoutered the same problem.

Solved by

  1. recompiling cl-protobufs/protoc
  2. and delete quicklisp cache ~/.cache/common-lisp/sbcl-2.2.10-macosx-x64/xxxxx/quicklisp/local-projects/cl-protobufs
  3. (ql:quickload :cl-protobufs), now works fine