Skip to content
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

odd number of elements error in "kandria" "ui" "main-menu" on running ./setup.lisp #21

Open
ArneBab opened this issue Jan 3, 2025 · 0 comments

Comments

@ArneBab
Copy link
Contributor

ArneBab commented Jan 3, 2025

Version: master (9b7e11f).

I get this output when running ./setup.lisp:

[package kandria].................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
................While evaluating the form starting at line 55, column 0
  of #P"/home/arne/eigenes/Programme/kandria/./setup.lisp":

debugger invoked on a SB-KERNEL::DEFMACRO-LAMBDA-LIST-BROKEN-KEY-LIST-ERROR in thread
#<THREAD tid=11130 "main thread" RUNNING {1000BA80A3}>:
  Error while parsing arguments to WITH-MESH-CONSTRUCTION DEFMACRO:
    odd number of elements in keyword/value list: (FINALIZE
                                                   (LOCATION UV NORMAL) NIL)

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Retry
                                     compiling #<CL-SOURCE-FILE "kandria" "ui" "main-menu">.

This is on a Guix system with the following change to setup.lisp

@@ -1,5 +1,6 @@
 #|
-exec sbcl --dynamic-space-size 4GB --noinform --no-sysinit --no-userinit --load "$0"
+# remove --no-userinit, otherwise the quicklisp install cannot be found
+exec sbcl --dynamic-space-size 4GB --noinform --no-sysinit --load "$0"
 |#
 
 (in-package #:cl-user)
@@ -23,6 +24,15 @@ Please create a file called .install within the source directory which
 contains the path to your full Kandria game installation and then try
 again.")))
 
+;; Ref https://lists.gnu.org/archive/html/bug-guix/2020-01/msg00133.html
+;; CFFI beachtet LIBRARY_PATH nicht, aber hier fügt Guix alle Bibliotheken hinzu. Wir leiten diese Verzeichnisse an CFFI weiter.
+(ql:quickload :cffi)
+(dolist (dir (uiop:getenv-pathnames "LIBRARY_PATH"))
+  ;; Der Pfad benötigt / am Ende, also stellen wir dies sicher
+  (pushnew (uiop:ensure-directory-pathname dir)
+           cffi:*foreign-library-directories*
+           :test #'equal))
+
 ;;; Load quicklisp
 (unless (find-package '#:quicklisp)
   (unless (probe-file (merge-pathnames "quicklisp/setup.lisp" *kandria-root*))

without this change it already fails at opengl):

Unable to load any of the alternatives:
   ("libGL.so.4" "libGL.so.3" "libGL.so.2" "libGL.so.1" "libGL.so")
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

1 participant