Slynk doesn't compile with ECL 20.4.24?
I just tried using ECL 20.4.24 with Emacs/Sly but got the following error in the sly-started inferior-lisp for ecl buffer:
(cond ((ignore-errors (funcall (quote require) "asdf") (funcall (read-from-string "asdf:version-satisfies") (funcall (read-from-string "asdf:asdf-version")) "2.019")) (push (pathname "/home/renes/.emacs.d/elpa/sly-20200314.55/slynk/") (symbol-value (read-from-string "asdf:central-registry"))) (funcall (read-from-string "asdf:load-system") :slynk) (funcall (read-from-string "slynk:start-server") "/tmp/sly.7757")) (t (progn (load "/home/renes/.emacs.d/elpa/sly-20200314.55/slynk/slynk-loader.lisp" :verbose t) (funcall (read-from-string "slynk-loader:init")) (funcall (read-from-string "slynk:start-server") "/tmp/sly.7757"))))
ECL (Embeddable Common-Lisp) 20.4.24 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2013 Juan J. Garcia-Ripoll
Copyright (C) 2018 Daniel Kochmanski
Copyright (C) 2020 Daniel Kochmanski and Marius Gerbershagen
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process TOP-LEVEL 0x55b31c1edf80>.
;;; Loading "/home/renes/.emacs.d/elpa/sly-20200314.55/slynk/slynk-loader.lisp"
Condition of type: FILE-ERROR Filesystem error with pathname #P"SYS:CMP.NEWEST". Either
- the file does not exist, or
- we are not allowed to access the file, or
- the pathname points to a broken symbolic link. Available restarts:
- (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SLYNK-LOADER::BINARY-PATHNAME. In: #<process TOP-LEVEL 0x55b31c1edf80>. File: #P"/home/renes/.emacs.d/elpa/sly-20200314.55/slynk/slynk-loader.lisp" (Position #6435)
I am on a mostly stock Ubuntu 18.04 system, using Emacs 26.3 and ECL 20.4.24. Please let me know if there's anything else I can do to help diagnose this issue.
Also, I've been using Sly with SBCL with no issues.
I have a similar problem with ECL 21.2.1 but on Android inside of Termux - Slynk doesn't compile. However, I'm not sure if this is really problem in Sly, ECL, or even Termux/Android. I've tried to compile the module like this:
(load ".config/emacs/straight/repos/sly/slynk/slynk-loader.lisp")
(slynk-loader:dump-image "sbcl.core-with-slynk")
Here's the log:
Compilation log
;;; Loading "/data/data/com.termux/files/home/sly.lisp"
;;; Loading "/data/data/com.termux/files/home/.config/emacs/straight/repos/sly/slynk/slynk-loader.lisp"
;;; Loading #P"/data/data/com.termux/files/usr/lib/ecl-21.2.1/cmp.fas"
;;;
;;; Compiling /data/data/com.termux/files/home/.config/emacs/straight/repos/sly/slynk/slynk-backend.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;;
;;; End of Pass 1.
;;; Internal error:
;;; ** Error code 1 when executing
;;; (EXT:RUN-PROGRAM "aarch64-linux-android-clang" ("-I." "-I/data/data/com.termux/files/usr/include/" "-I/data/data/com.termux/files/usr/include" "-D_GNU_SOURCE" "-DPLATFORM_ANDROID" "-DUSE_GET_STACKBASE_FOR_MAIN" "-DIGNORE_DYNAMIC_LOADING" "-fstack-protector-strong" "-Oz" "-fPIC" "-D_THREAD_SAFE" "-Dandroid" "-O2" "-c" ".sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c" "-o" ".sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.o")):
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:22:
;;; In file included from /data/data/com.termux/files/usr/include/sys/types.h:33:
;;; In file included from /data/data/com.termux/files/usr/lib/clang/13.0.0/include/stdint.h:52:
;;; In file included from /data/data/com.termux/files/usr/include/stdint.h:32:
;;; In file included from /data/data/com.termux/files/usr/include/bits/wchar_limits.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/sys/cdefs.h:371:
;;; /data/data/com.termux/files/usr/include/android/api-level.h:174:50: error: expected a platform name, e.g., 'macos'
;;; int android_get_application_target_sdk_version() __INTRODUCED_IN(24);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; In file included from /data/data/com.termux/files/usr/include/string.h:36:
;;; /data/data/com.termux/files/usr/include/bits/strcasecmp.h:56:87: error: expected a platform name, e.g., 'macos'
;;; int strcasecmp_l(const char* __s1, const char* __s2, locale_t __l) __attribute_pure__ __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; In file included from /data/data/com.termux/files/usr/include/string.h:36:
;;; /data/data/com.termux/files/usr/include/bits/strcasecmp.h:75:100: error: expected a platform name, e.g., 'macos'
;;; int strncasecmp_l(const char* __s1, const char* __s2, size_t __n, locale_t __l) __attribute_pure__ __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:57:59: error: expected a platform name, e.g., 'macos'
;;; void* mempcpy(void* __dst, const void* __src, size_t __n) __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:68:59: error: expected a platform name, e.g., 'macos'
;;; char* __strchr_chk(const char* __s, int __ch, size_t __n) __INTRODUCED_IN(18);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:82:63: error: expected a platform name, e.g., 'macos'
;;; char* strchrnul(const char* __s, int __ch) __attribute_pure__ __INTRODUCED_IN(24);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:91:60: error: expected a platform name, e.g., 'macos'
;;; char* __strrchr_chk(const char* __s, int __ch, size_t __n) __INTRODUCED_IN(18);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:98:50: error: expected a platform name, e.g., 'macos'
;;; size_t __strlen_chk(const char* __s, size_t __n) __INTRODUCED_IN(17);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:105:46: error: expected a platform name, e.g., 'macos'
;;; char* stpcpy(char* __dst, const char* __src) __INTRODUCED_IN(21);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:125:51: error: expected a platform name, e.g., 'macos'
;;; char* strerror_l(int __errno_value, locale_t __l) __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:129:89: error: expected a platform name, e.g., 'macos'
;;; char* strerror_r(int __errno_value, char* __buf, size_t __n) __RENAME(__gnu_strerror_r) __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:140:59: error: expected a platform name, e.g., 'macos'
;;; char* stpncpy(char* __dst, const char* __src, size_t __n) __INTRODUCED_IN(21);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:159:86: error: expected a platform name, e.g., 'macos'
;;; int strcoll_l(const char* __lhs, const char* __rhs, locale_t __l) __attribute_pure__ __INTRODUCED_IN(21);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:160:76: error: expected a platform name, e.g., 'macos'
;;; size_t strxfrm_l(char* __dst, const char* __src, size_t __n, locale_t __l) __INTRODUCED_IN(21);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; In file included from /data/data/com.termux/files/usr/include/stdio.h:47:
;;; /data/data/com.termux/files/usr/include/string.h:180:61: error: expected a platform name, e.g., 'macos'
;;; char* basename(const char* __path) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; /data/data/com.termux/files/usr/include/stdio.h:65:20: error: expected a platform name, e.g., 'macos'
;;; extern FILE* stdin __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; /data/data/com.termux/files/usr/include/stdio.h:66:21: error: expected a platform name, e.g., 'macos'
;;; extern FILE* stdout __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; /data/data/com.termux/files/usr/include/stdio.h:67:21: error: expected a platform name, e.g., 'macos'
;;; extern FILE* stderr __INTRODUCED_IN(23);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; In file included from .sly/fasl/1.0.43/ecl-21.2.1-unix-aarch64/slynk-backend.c:5:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl-cmp.h:36:
;;; In file included from /data/data/com.termux/files/usr/include/ecl/ecl.h:29:
;;; /data/data/com.termux/files/usr/include/stdio.h:126:93: error: expected a platform name, e.g., 'macos'
;;; ssize_t getdelim(char** __line_ptr, size_t* __line_length_ptr, int __delimiter, FILE* __fp) __INTRODUCED_IN(18);
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:62:36: note: expanded from macro '__INTRODUCED_IN'
;;; #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
;;; ^
;;; /data/data/com.termux/files/usr/include/android/versioning.h:57:71: note: expanded from macro '__BIONIC_AVAILABILITY'
;;; #define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
;;; ^
;;; <command line>:6:17: note: expanded from here
;;; #define android 1
;;; ^
;;; fatal error: too many errors emitted, stopping now [-ferror-limit=]
;;; 20 errors generated.;;
;; Error compiling /data/data/com.termux/files/home/.config/emacs/straight/repos/sly/slynk/slynk-backend.lisp:
;; COMPILE-FILE returned NIL.
;; An error occurred during initialization:
COMPILE-FILE returned NIL..
I'm hitting the same result (can't use ecl), although my error seems slightly different from the ones above. This is with ecl-21.2.1.
Upon invoking sly with my Lisp set to ecl:
- Sly endless polls a
/tmp/sly.*file. - An
eclprocess starts and briefly has some CPU activity. - The buffer
*sly-started inferior-lisp for ecl*is created. By the time I visit it, it's mainly filled with a condition/restart debugger menu. - CPU activity from
ecldrops off and the whole process stalls (presumably hanging in the debugger)
Here's the actual content of the buffer:
(cond ((ignore-errors (funcall 'require "asdf") (funcall (read-from-string "asdf:version-satisfies") (funcall (read-from-string "asdf:asdf-version")) "2.019")) (push (pathname "/home/colin/.config/emacs/.local/straight/build-29.1/sly/slynk/") (symbol-value (read-from-string "asdf:*central-registry*"))) (funcall (read-from-string "asdf:load-system") :slynk) (funcall (read-from-string "slynk:start-server") "/tmp/sly.8252")) (t (progn (load "/home/colin/.config/emacs/.local/straight/build-29.1/sly/slynk/slynk-loader.lisp" :verbose t) (funcall (read-from-string "slynk-loader:init")) (funcall (read-from-string "slynk:start-server") "/tmp/sly.8252"))))
;;; Loading "/home/colin/.quicklisp/setup.lisp"
;;; Loading #P"/usr/lib/ecl-21.2.1/asdf.fas"
ECL (Embeddable Common-Lisp) 21.2.1 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2013 Juan J. Garcia-Ripoll
Copyright (C) 2018 Daniel Kochmanski
Copyright (C) 2021 Daniel Kochmanski and Marius Gerbershagen
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process TOP-LEVEL 0x5613013cff80>.
>
;;;
;;; Compiling /home/colin/.config/emacs/.local/straight/repos/sly/slynk/backend/ecl.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;;
;;; End of Pass 1.
;;; Finished compiling /home/colin/.config/emacs/.local/straight/repos/sly/slynk/backend/ecl.lisp.
;;;
Condition of type: SIMPLE-ERROR
LOAD: Could not load file #P"/home/colin/.cache/common-lisp/ecl-21.2.1-unknown-linux-x64/home/colin/.config/emacs/.local/straight/repos/sly/slynk/backend/ecl.fas" (Error: "/home/colin/.cache/common-lisp/ecl-21.2.1-unknown-linux-x64/home/colin/.config/emacs/.local/straight/repos/sly/slynk/backend/ecl.fas: undefined symbol: WZc9Q3i67VFaZ_wrOdHg61")
Available restarts:
1. (TRY-RECOMPILING) Recompile ecl and try loading it again
2. (RETRY) Retry loading FASL for #<cl-source-file "slynk" "backend" "ecl">.
3. (ACCEPT) Continue, treating loading FASL for #<cl-source-file "slynk" "backend" "ecl"> as having been successful.
4. (RETRY) Retry ASDF operation.
5. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
6. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (COND ((IGNORE-ERRORS (FUNCALL 'REQUIRE "asdf") (FUNCALL (READ-FROM-STRING "asdf:version-satisfies") (FUNCALL (READ-FROM-STRING "asdf:asdf-version")) "2.019")) (PUSH (PATHNAME "/home/colin/.config/emacs/.local/straight/build-29.1/sly/slynk/") (SYMBOL-VALUE (READ-FROM-STRING "asdf:*central-registry*"))) (FUNCALL (READ-FROM-STRING "asdf:load-system") :SLYNK) (FUNCALL (READ-FROM-STRING "slynk:start-server") "/tmp/sly.8252")) (T (PROGN (LOAD "/home/colin/.config/emacs/.local/straight/build-29.1/sly/slynk/slynk-loader.lisp" :VERBOSE T) (FUNCALL (READ-FROM-STRING "slynk-loader:init")) (FUNCALL (READ-FROM-STRING "slynk:start-server") "/tmp/sly.8252"))))] In: #<process TOP-LEVEL 0x5613013cff80>.
with the actual error in question being:
ecl.fas: undefined symbol: WZc9Q3i67VFaZ_wrOdHg61
Note that the same thing happens in an independent ecl REPL if one attempts: (ql:quickload :slynk).
Any idea what could cause this? Thank you!
See also this potentially related issue: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/710
Corresponding issue in ECL: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/714
The version of GCC might be the problem. Reattempting a slynk build in a ubuntu-22.04 Docker image succeeds. It has ecl 21.2.1 and gcc 11.4.0 available to it, whereas my machine has gcc 13.2.1.
I can't start Sly ECL on a Guix system.
(cond ((ignore-errors (funcall 'require "asdf") (funcall (read-from-string "asdf:version-satisfies") (funcall (read-from-string "asdf:asdf-version")) "2.019")) (push (pathname "/gnu/store/0y1h8arnl91jhfklqig1frwlbgi10sp3-emacs-sly-1.0.43-7.82b20a9/share/emacs/site-lisp/sly-1.0.43-7.82b20a9/slynk/") (symbol-value (read-from-string "asdf:*central-registry*"))) (funcall (read-from-string "asdf:load-system") :slynk) (funcall (read-from-string "slynk:start-server") "/tmp/sly.1228")) (t (progn (load "/gnu/store/0y1h8arnl91jhfklqig1frwlbgi10sp3-emacs-sly-1.0.43-7.82b20a9/share/emacs/site-lisp/sly-1.0.43-7.82b20a9/slynk/slynk-loader.lisp" :verbose t) (funcall (read-from-string "slynk-loader:init")) (funcall (read-from-string "slynk:start-server") "/tmp/sly.1228"))))
ECL (Embeddable Common-Lisp) 21.2.1 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2013 Juan J. Garcia-Ripoll
Copyright (C) 2018 Daniel Kochmanski
Copyright (C) 2021 Daniel Kochmanski and Marius Gerbershagen
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process TOP-LEVEL 0x7f86d9229f80>.
>
;;; Loading #P"/gnu/store/65g9s7fdgxxsz1673lkpqq0mmgxxisp5-ecl-21.2.1/lib/ecl-21.2.1/asdf.fas"
Condition of type: SIMPLE-ERROR
Can't reliably convert wild pathname #P"/run/udev/links/\\x2finput\\x2fby-path\\x2fpci-0000:04:00.4-usb-0:4:1.2-event-kbd/"
Available restarts:
1. (RETRY) Retry ASDF operation.
2. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
3. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at SI:BYTECODES. [Evaluation of: (COND ((IGNORE-ERRORS (FUNCALL 'REQUIRE "asdf") (FUNCALL (READ-FROM-STRING "asdf:version-satisfies") (FUNCALL (READ-FROM-STRING "asdf:asdf-version")) "2.019")) (PUSH (PATHNAME "/gnu/store/0y1h8arnl91jhfklqig1frwlbgi10sp3-emacs-sly-1.0.43-7.82b20a9/share/emacs/site-lisp/sly-1.0.43-7.82b20a9/slynk/") (SYMBOL-VALUE (READ-FROM-STRING "asdf:*central-registry*"))) (FUNCALL (READ-FROM-STRING "asdf:load-system") :SLYNK) (FUNCALL (READ-FROM-STRING "slynk:start-server") "/tmp/sly.1228")) (T (PROGN (LOAD "/gnu/store/0y1h8arnl91jhfklqig1frwlbgi10sp3-emacs-sly-1.0.43-7.82b20a9/share/emacs/site-lisp/sly-1.0.43-7.82b20a9/slynk/slynk-loader.lisp" :VERBOSE T) (FUNCALL (READ-FROM-STRING "slynk-loader:init")) (FUNCALL (READ-FROM-STRING "slynk:start-server") "/tmp/sly.1228"))))] In: #<process TOP-LEVEL 0x7f86d9229f80>.
>>
@aadcg Are you able to compile slynk in a clean ecl session? If not, what version of gcc is installed?
@fosskers the issue I have reported above is due to my own machine. Please ignore it. I have tested by creating a clean environment, guix shell emacs ecl emacs-sly -- emacs -Q, and it worked fine. If that helps I'm running gcc 11.3.0.
Thanks that does help. The problem seems to be with GCC 13.