Open ohmree opened 7 years ago
I found this and will try to get it working tomorrow (enough windows-library-hunting for today)
@omrisim210 It fails during groveling. I think that it can't find the curses.h files.
@omrisim210 It fails during groveling. I think that it can't find the curses.h files.
Any idea how to resolve this issue? The read me for the project said it was tested on Windows but it doesn't indicate how it was setup (installation steps for pdcurses and the like).
CC @HiTECNOLOGYs
Hello,
I am experiencing a similar issue with LispWorks 7.1.1 on Windows 10:
(ql:quickload :cl-charms)
To load "cl-charms":
Load 4 ASDF systems:
alexandria asdf cffi cffi-grovel
Install 1 Quicklisp release:
cl-charms
; Fetching #<QL-HTTP:URL "http://beta.quicklisp.org/archive/cl-charms/2018-12-10/cl-charms-20181210-git.tgz">
; 26.35KB
==================================================
26,980 bytes in 0.00 seconds (26347.66KB/sec)
; Loading "cl-charms"
[package cl-charms/low-level]; gcc -o "C:\Users\priyadarshan\AppData\Local\cache\common-lisp\lw-7.1.1-win-x64\C\home\quicklisp\dists\quicklisp\software\cl-charms-20181210-git\src\low-level\curses-grovel__grovel-tmpXPATEFP2.obj" -c -m64 "-IC:\home\quicklisp\dists\quicklisp\software\cffi_0.20.0\\" "C:\Users\priyadarshan\AppData\Local\cache\common-lisp\lw-7.1.1-win-x64\C\home\quicklisp\dists\quicklisp\software\cl-charms-20181210-git\src\low-level\curses-grovel__grovel.c"
.
Error: Subprocess with command ("gcc" "-o" "C:\\Users\\priyadarshan\\AppData\\Local\\cache\\common-lisp\\lw-7.1.1-win-x64\\C\\home\\quicklisp\\dists\\quicklisp\\software\\cl-charms-20181210-git\\src\\low-level\\curses-grovel__grovel-tmpXPATEFP2.obj" "-c" "-m64" "-IC:\\home\\quicklisp\\dists\\quicklisp\\software\\cffi_0.20.0\\" "C:\\Users\\priyadarshan\\AppData\\Local\\cache\\common-lisp\\lw-7.1.1-win-x64\\C\\home\\quicklisp\\dists\\quicklisp\\software\\cl-charms-20181210-git\\src\\low-level\\curses-grovel__grovel.c")
exited with error code 1
1 (continue) Retry #<CFFI-GROVEL::PROCESS-OP > on
#<CFFI-GROVEL:GROVEL-FILE "cl-charms" "low-level" "curses-grovel">.
2 Continue, treating #<CFFI-GROVEL::PROCESS-OP > on
#<CFFI-GROVEL:GROVEL-FILE "cl-charms" "low-level" "curses-grovel">
as having been successful.
3 Retry ASDF operation.
4 Retry ASDF operation after resetting the configuration.
5 Retry ASDF operation.
6 Retry ASDF operation after resetting the configuration.
7 (abort) Give up on "cl-charms"
8 Return to top loop level 0.
Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.
gcc.exe is
gcc.exe --version
gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
I would be happy to test further, but I would need some pointers on how to set it up on Windows.
I don't have a Windows box to test, but it looks to me that the CC
environment variable needs to be set. Any chance you could try that?
Thank you, CC
was missing. I set the CC
env variable to my local gcc
exe, but still having compilation issues.
I'm sorry I can't help much here side, I am not knowledgeable with compilation issues.
? (ql:quickload :cl-charms)
To load "cl-charms":
Load 1 ASDF system:
cl-charms
; Loading "cl-charms"
; "C:\ProgramData\scoop\apps\gcc\current\bin\gcc.EXE" -o C:/Users/priyadarshan/AppData/Local/cache/common-lisp/ccl-1.11-f96-win-x64/C/Users/priyadarshan/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel-tmpGPVOA4HS.obj -c -m64 -IC:/Users/priyadarshan/quicklisp/dists/quicklisp/software/cffi_0.20.0/ C:/Users/priyadarshan/AppData/Local/cache/common-lisp/ccl-1.11-f96-win-x64/C/Users/priyadarshan/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel.c
> Error: Subprocess (:PROCESS #<EXTERNAL-PROCESS (#1=C:\ProgramData\scoop\apps\gcc\current\bin\gcc.EXE . #2=(-o C:/Users/priyadarshan/AppData/Local/cache/common-lisp/ccl-1.11-f96-win-x64/C/Users/priyadarshan/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel-tmpGPVOA4HS.obj ...))[NIL] (EXITED : 1) #x2101DE518D>)
> with command (#1# . #2#)
> exited with error code 1
> While executing: CFFI-GROVEL:GROVEL-ERROR, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 >
I tried with sbcl
both on WIndows and on WSL (Ubuntu on Windows). Both fails as well. Results from the sbcl on WSL,
* (ql:quickload :cl-charms)
To load "cl-charms":
Load 1 ASDF system:
cl-charms
; Loading "cl-charms"
[package cl-charms/low-level]; cc -o /mnt/c/home/.cache/common-lisp/sbcl-1.4.5.debian-linux-x64/mnt/c/home/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel-tmp4WZVROCX.o -c -g -O2 -fdebug-prefix-map=/build/sbcl-Y6O0EJ/sbcl-1.4.5=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fno-omit-frame-pointer -momit-leaf-frame-pointer -fno-pie -fPIC -I/mnt/c/home/quicklisp/dists/quicklisp/software/cffi_0.20.0/ /mnt/c/home/.cache/common-lisp/sbcl-1.4.5.debian-linux-x64/mnt/c/home/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel.c
/mnt/c/home/.cache/common-lisp/sbcl-1.4.5.debian-linux-x64/mnt/c/home/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel.c:6:10: fatal error: ncurses.h: No such file or directory
#include <ncurses.h>
^~~~~~~~~~~
compilation terminated.
debugger invoked on a CFFI-GROVEL:GROVEL-ERROR in thread #<THREAD "main thread" RUNNING {10005E85B3}>: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {100BCD11B3}>
with command ("cc" "-o" "/mnt/c/home/.cache/common-lisp/sbcl-1.4.5.debian-linux-x64/mnt/c/home/quicklisp/dists/quicklisp/software/cl-charms-20181210-git/src/low-level/curses-grovel__grovel-tmp4WZVROCX.o" "-c" "-g" "-O2" "-fdebug-prefix-map=/build/sbcl-Y6O0EJ/sbcl-1.4.5=." "-fstack-protector-strong" "-Wformat" "-Werror=format-security" "-g" "-Wall" ...)
exited with error code 1
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 #<PROCESS-OP > on #<GROVEL-FILE "cl-charms" "low-level" "curses-grovel">.
1: [ACCEPT ] Continue, treating #<PROCESS-OP > on #<GROVEL-FILE "cl-charms" "low-level" "curses-grovel"> as having been successful.
2: Retry ASDF operation.
3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
4: Retry ASDF operation.
5: Retry ASDF operation after resetting the configuration.
6: [ABORT ] Give up on "cl-charms"
7: Exit debugger, returning to top level.
(CFFI-GROVEL:GROVEL-ERROR "~a" #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {100BCD3D43}>)
source: (ERROR (QUOTE GROVEL-ERROR) :FORMAT-CONTROL FORMAT-CONTROL :FORMAT-ARGUMENTS FORMAT-ARGUMENTS)
0]
It seems <ncurses.h>
cannot be found?
That's my assessment. Usually C finds this stuff with a -I
argument to indicate include directories.
Thank you. Trying on Windows was adding an extra layer, so I tried on Ubuntu 18.04, still with compilation errors. libncurses5
shared libraries for terminal handling are installed and available system-wide.
I am not going further on this, it is clearly beyond my understanding on how to compile things.
This was useful, though, to realise that quicklisp
does not help much when third party non-lisp libraries are required.
Thank you for the time and advice.
@priyadarshan Thanks for the effort. This is an important thing and we need to fix it.
Still trying to have cl-charms
on LispWorks for Windows. It seems lem uses cl-charms library to interface with PDCurses, although it requires an older version of PDCurses.
Hello, there are some information to install PDCurses on MSYS2/MinGW-w64.
https://github.com/cxxxr/lem/issues/454 [Windows] [lem-pdcurses] MSYS2/MinGW-w64 PDCurses package version 4 is broken
https://github.com/cxxxr/lem/wiki/Windows-Platform Lem Wiki - Windows Platform
They needs a manual copy operation for cl-charms as follows.
cp -i /mingw64/include/pdcurses.h /mingw64/include/ncurses.h
.
I compiled the Win32a version of pdcurses from here with WIDE, UTF-8 and DLL all set to Y (only managed to compile it on cloud9 using mingw32-w64, got a .dll file and a .a file)
I moved curses.h to mingw's include/ncurses.h, moved the .a file to mingw's lib/ncurses.a and moved pdcurses.dll (under the name ncurses.dll and libcurses.dll) to the directory in which the ccl binary resides (I also have SDL2.dll in my CCL directory) and to mingw's lib directory I tried to do
But I get this error:
I use CCL 1.11,, emacs 24.5, slime 2.15 (all from a more up-to-date fork of lispbox) and the latest version of mingw-w64 (used the version from the ubuntu 14.04 repos when compiling on cloud9).
Could it possibly be related to me (re)defining my HOME variable in the .bat file that launches Emacs? because stuff (I recall quicklisp doing it) tried to use the WinXP user directory as %HOME% even though emacs & common lisp's getenv returns my custom HOME
Here's my lispbox.bat just in case it would help: