Opened 12 months ago

Closed 9 months ago

#68477 closed defect (fixed)

sbcl fails to build server in thrift on PowerPC: unhandled condition in --disable-debugger mode, quitting

Reported by: barracuda156 Owned by: catap (Kirill A. Korinsky)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: powerpc Cc:
Port: thrift, sbcl

Description

; compiling file "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/lib/de.setf.thrift-backport-update/server.lisp" (written 21 NOV 2017 02:51:37 PM):

; wrote /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/.home/.cache/common-lisp/sbcl-2.3.9-macosx-ppc32/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/lib/de.setf.thrift-backport-update/server-tmpE3AQVWGT.fasl
; compilation finished in 0:00:00.357
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                  {118B0061}>:
  The value
    NIL
  is not of type
    (OR STRING PATHNAME SYNONYM-STREAM FILE-STREAM)
  when binding PATHNAME

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {118B0061}>
0: (PATHNAME-NAME NIL) [more]
1: ((LAMBDA NIL :IN ASDF/FIND-SYSTEM:LOAD-ASD))
2: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/FIND-SYSTEM:LOAD-ASD) {1365B11D}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/FIND-SYSTEM:LOAD-ASD (FIRST (DIRECTORY (MERGE-PATHNAMES "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd" *LOAD-TRUENAME*)))) #<NULL-LEXENV>)
4: (EVAL-TLF (ASDF/FIND-SYSTEM:LOAD-ASD (FIRST (DIRECTORY (MERGE-PATHNAMES "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd" *LOAD-TRUENAME*)))) 4 NIL)
5: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ASDF/FIND-SYSTEM:LOAD-ASD (FIRST (DIRECTORY (MERGE-PATHNAMES "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd" *LOAD-TRUENAME*)))) 4)
6: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (ASDF/FIND-SYSTEM:LOAD-ASD (FIRST (DIRECTORY (MERGE-PATHNAMES "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd" *LOAD-TRUENAME*)))) :CURRENT-INDEX 4)
7: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {114792AD}> #<SB-C::SOURCE-INFO {114792C9}> SB-C::INPUT-ERROR-IN-LOAD)
8: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/make-tutorial-server.lisp" {11479071}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
9: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/make-tutorial-server.lisp" {11479071}> NIL)
10: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {100056D}> #<SB-SYS:FD-STREAM for "file /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/make-tutorial-server.lisp" {11479071}> NIL #<SB-SYS:FD-STREAM for "file /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/make-tutorial-server.lisp" {11479071}>)
11: (LOAD #<SB-SYS:FD-STREAM for "file /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/make-tutorial-server.lisp" {11479071}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
12: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl/make-tutorial-server.lisp" {11479071}>)
13: ((FLET SB-UNIX::BODY :IN SB-IMPL::PROCESS-SCRIPT))
14: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-IMPL::PROCESS-SCRIPT))
15: (SB-IMPL::PROCESS-SCRIPT "make-tutorial-server.lisp")
16: (SB-IMPL::TOPLEVEL-INIT)
17: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
18: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
19: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting
make[3]: *** [all-local] Error 1
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial/cl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0/tutorial'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_thrift/thrift/work/thrift-0.19.0'
make: *** [all] Error 2

Change History (10)

comment:1 Changed 12 months ago by barracuda156

It also should not build CL portion by default. This must be a variant.

Version 0, edited 12 months ago by barracuda156 (next)

comment:2 Changed 12 months ago by barracuda156

In 6dc12fbba8cf465547af130f2107036e2218df7e/macports-ports (master):

thrift: do not opportunistically build lisp libs, make it a variant

See also: #68477

comment:3 Changed 9 months ago by catap (Kirill A. Korinsky)

Is it still relevant?

comment:4 in reply to:  3 Changed 9 months ago by barracuda156

Replying to catap:

Is it still relevant?

Hmm, I should try. No idea.

comment:5 Changed 9 months ago by tomio-arisaka (Tomio Arisaka)

I tried to build thrift on macOS 10.13.6, then I got the same error. I guess the lisp part of thrift is not maintained :)

I investigated the error, so that the error is caused due to the path to "clon-*" which is changed to "cl-clon-*".

Try the following patch "change_clon.patch" if you like.

$ cat ./files/change_clon.patch
--- lib/cl/test/make-test-binary.lisp.orig	2023-02-07 07:38:11.000000000 +0900
+++ lib/cl/test/make-test-binary.lisp	2023-12-21 18:18:00.000000000 +0900
@@ -22,7 +22,7 @@
 (asdf:load-system :thrift-test)
 
 (require "sb-grovel") ;; necessary for :net.didierverna.clon.termio
-(asdf:load-asd (first (directory (merge-pathnames "../externals/software/clon-*/termio/net.didierverna.clon.termio.asd"
+(asdf:load-asd (first (directory (merge-pathnames "../externals/software/cl-clon-*/termio/net.didierverna.clon.termio.asd"
                                                   *load-truename*))))
 (asdf:load-system :net.didierverna.clon)
 
--- test/cl/make-test-client.lisp.orig	2023-02-07 07:38:11.000000000 +0900
+++ test/cl/make-test-client.lisp	2023-12-21 18:18:00.000000000 +0900
@@ -18,7 +18,7 @@
 (require "asdf")
 (load (merge-pathnames "../../lib/cl/load-locally.lisp" *load-truename*))
 (require "sb-grovel") ;; necessary for :net.didierverna.clon.termio
-(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd"
+(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/cl-clon-*/termio/net.didierverna.clon.termio.asd"
                                                   *load-truename*))))
 (asdf:load-system :net.didierverna.clon)
 (asdf:load-system :fiasco)
--- test/cl/make-test-server.lisp.orig	2023-02-07 07:38:11.000000000 +0900
+++ test/cl/make-test-server.lisp	2023-12-21 18:18:00.000000000 +0900
@@ -15,7 +15,7 @@
 (require "asdf")
 (load (merge-pathnames "../../lib/cl/load-locally.lisp" *load-truename*))
 (require "sb-grovel") ;; necessary for :net.didierverna.clon.termio
-(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd"
+(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/cl-clon-*/termio/net.didierverna.clon.termio.asd"
                                                   *load-truename*))))
 (asdf:load-system :net.didierverna.clon)
 (asdf:load-asd (merge-pathnames "gen-cl/ThriftTest/thrift-gen-ThriftTest.asd" *load-truename*))
--- tutorial/cl/make-tutorial-client.lisp.orig	2023-02-07 07:38:11.000000000 +0900
+++ tutorial/cl/make-tutorial-client.lisp	2023-12-21 18:18:00.000000000 +0900
@@ -15,7 +15,7 @@
 (require "asdf")
 (load (merge-pathnames "load-locally.lisp" *load-truename*))
 (require "sb-grovel") ;; necessary for :net.didierverna.clon.termio
-(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd"
+(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/cl-clon-*/termio/net.didierverna.clon.termio.asd"
                                                   *load-truename*))))
 (asdf:load-system :net.didierverna.clon)
 (asdf:load-asd (merge-pathnames "gen-cl/shared/thrift-gen-shared.asd" *load-truename*))
--- tutorial/cl/make-tutorial-server.lisp.orig	2023-02-07 07:38:11.000000000 +0900
+++ tutorial/cl/make-tutorial-server.lisp	2023-12-21 18:18:00.000000000 +0900
@@ -15,7 +15,7 @@
 (require "asdf")
 (load (merge-pathnames "load-locally.lisp" *load-truename*))
 (require "sb-grovel") ;; necessary for :net.didierverna.clon.termio
-(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/clon-*/termio/net.didierverna.clon.termio.asd"
+(asdf:load-asd (first (directory (merge-pathnames "../../lib/cl/externals/software/cl-clon-*/termio/net.didierverna.clon.termio.asd"
                                                   *load-truename*))))
 (asdf:load-system :net.didierverna.clon)
 (asdf:load-asd (merge-pathnames "gen-cl/shared/thrift-gen-shared.asd" *load-truename*))
$ diff -u Portfile.orig Portfile
--- Portfile.orig	2023-10-18 10:20:20.000000000 +0900
+++ Portfile	2023-12-21 18:41:00.000000000 +0900
@@ -30,7 +30,8 @@
 homepage        https://thrift.apache.org/
 master_sites    apache:${name}/${version}
 
-patchfiles-append   dynamic_lookup-11.patch
+patchfiles-append   dynamic_lookup-11.patch \
+                    change_clon.patch
 
 depends_build       port:autoconf \
                     port:automake \

comment:6 Changed 9 months ago by catap (Kirill A. Korinsky)

Seems that it clear not SBCL issues, isn't it?

comment:7 Changed 9 months ago by catap (Kirill A. Korinsky)

Thus, support of lisp were removed: https://issues.apache.org/jira/browse/THRIFT-5501

comment:8 Changed 9 months ago by catap (Kirill A. Korinsky)

The current version of thrift for lisp is available here: https://github.com/TurtleWarePL/de.setf.thrift

comment:9 Changed 9 months ago by catap (Kirill A. Korinsky)

Yeah, current version of lisp support is simple proxy, see: https://github.com/apache/thrift/blob/master/lib/cl/ensure-externals.sh

comment:10 Changed 9 months ago by catap (Kirill A. Korinsky)

Resolution: fixed
Status: assignedclosed

In 17770e22144939ac3c653d4b530d3cbb3f5abfa7/macports-ports (master):

thrift: fix lisp support

Closes: #68477

Note: See TracTickets for help on using tickets.