HiTECNOLOGYs / cl-charms

More up-to-date version of cl-charms. Forked it because it was, apparently, abandoned by author and I couldn't contact him.
https://gitorious.org/cl-charms
Other
159 stars 29 forks source link

Testing: openSUSE Tumbleweed: cl-charms coughs on stdscr reference #60

Open androclus opened 2 years ago

androclus commented 2 years ago

Problem:

Attempting to compile lem (or anything else using cl-charms) on an openSUSE Tumbleweed system results in an error:

Trying to access undefined variable "stdscr"

(see screenshot)

Workaround:

For now, opening up src/low-level/curses-bindings.lisp and commenting out the three lines referring to the various forms of ncurses 6, and then recompiling (as per this Japanese blog post from 2018), gets around the problem.

I'm a LISP/cl-charms/ncurses newbie here, so my efforts for a few hours trying to discover a better solution in LISP code (to offer as a PR) have come to naught.

Therefore I'm just posting the situation and the temporary hack, but if anyone can fix it, or if you want me to test a proposed alternative, or if I've left any clues out, let me know.

References

Env

I have tried this on 3 different openSUSE Tumbleweed Linux 6.0.8-1-default #1 SMP PREEMPT_DYNAMIC x86_64 systems: Mileage is consistent. All are patched up to date as of 20 Nov 2022.

Both libncurses/libncursesw libraries are installed for both versions 5 and 6. Similarly for their corresponding -devel source packages. (see below)

S  | Name                          | Summary                                                          | Type
---+-------------------------------+------------------------------------------------------------------+--------
   | busybox-ncurses-utils         | Busybox applets replacing ncurses-utils                          | package
i+ | libncurses5                   | Terminal control library                                         | package
   | libncurses5-32bit             | Terminal control library                                         | package
i  | libncurses6                   | Terminal control library                                         | package
i  | libncurses6-32bit             | Terminal control library                                         | package
   | libyui-ncurses-devel          | Libyui - Header fles for the NCurses (text based) user interface | package
   | libyui-ncurses-pkg-devel      | Libyui-ncurses-pkg header files                                  | package
i  | libyui-ncurses-pkg16          | Libyui - yast2 package selector widget for the NCurses UI        | package
   | libyui-ncurses-rest-api-devel | Libyui - Header files for the NCurses REST API plugin            | package
   | libyui-ncurses-rest-api16     | Libyui - REST API plugin for the Ncurses frontend                | package
   | libyui-ncurses-tools          | Libyui - tools for the NCurses (text based) user interface       | package
i  | libyui-ncurses16              | Libyui - NCurses (text based) user interface                     | package
i  | ncurses-devel                 | Development files for the ncurses6 terminal control library      | package
   | ncurses-devel-32bit           | Development files for the ncurses6 terminal control library      | package
   | ncurses-devel-static          | Static libraries for the ncurses6 terminal control library       | package
   | ncurses-examples              | Tools using the new curses libraries                             | package
i  | ncurses-utils                 | Tools using the new curses libraries                             | package
i+ | ncurses5-devel                | Development files for the ncurses5 terminal control library      | package
   | ncurses5-devel-32bit          | Development files for the ncurses5 terminal control library      | package
   | ncurses5-devel-static         | Static libraries for the ncurses5 terminal control library       | package

Thank you. JS

androclus commented 2 years ago

Screenshot_20221120_095654