Comments (12)
I see. Did you try using %*ENV<PERL6_NCURSES_LIB>
to specify the ncurses library name/location?
from raku-ncurses.
Did it work for you?
from raku-ncurses.
@azawawi I set %*ENV<PERL6_NCURSES_LIB>
to libncursesw.so.6
, it didn't work and the same error was printed. Then I removed precomp files and tried again, it worked. And after this it works even if PERL6_NCURSES_LIB
is not set.
Does it have something to do with LIB
being constant
and the precompilation?
from raku-ncurses.
Sorry for the late reply. Unfortunately, a corrupted .precomp
folder is sometimes the cause of some of the Perl 6 modules not working correctly when upgraded.
from raku-ncurses.
I had the same problem, but was able to obtain a build as follows:
PERL6_NCURSES_LIB=libncursesw.so.6
then rebuild in the usual way.
from raku-ncurses.
@blippy Thanks for your feedback.
from raku-ncurses.
I think it is to do with the fact that at perl6-ncurses6/lib/NCurses6.pm6,
line 5 reads:
constant LIB = %*ENV<PERL6_NCURSES_LIB> || 'libncursesw.so.5';
I had a chat on perl6-users-help
, where Brandon Allbery stated:
ABI version 6 is not compatible with version 5 (in particular, color handling changed). It is not safe to just use whatever ncurses happens to be around.
Given all of the potential conflict between version 5 and version 6 of ncurses, I have done what I think is the best solution: forked your repo as a basis for NCurses6 - aimed at compatability with version 6 of the library.
This should keep everyone happy (?). Anyone on older systems, or just wanting a vanilla install of Perl 6, can install rakudo in the usual way. Anyone wanting to go down the ncurses 6 route can install my module NCurses6: https://github.com/blippy/perl6-ncurses6 . It also enables users to have both versions on their system, and pick and choose whatever they favour the most.
from raku-ncurses.
Great 👍 But why not have both on the same repository?
from raku-ncurses.
I was spooked by Brandon's comment. ncurses6 seems to have better colour support.
I wonder what you think the best way forward is. Should you change 'libncursesw.so.5' to 'libncursesw.so.6', or to 'libncursesw.so', stick with the approach as-is whereby the user has to set PERL6_NCURSES_LIB and remove my NCurses6 as a bad idea, or something else?
Am I right in thinking that NCurses is part of the rakudo distribution?
from raku-ncurses.
Thanks for waking me up 👍
Please try 4c7c837. Your feedback is appreciated.
from raku-ncurses.
There seems to be a success. Here's what I did (IIRC):
- unset my
PERL6_NCURSES_LIB
, and started a new shell to ensure it was unset - recompiled and reinstalled
rakudo-star 2017.01
- Uninstalled
NCurses
- Cloned your repo, and checked out the commit you listed above
panda install .
cd examples
perl6 starfield.pl6
I was presented with a nice moving starfield :) So we have a winner!
Many thanks for fixing this for me.
I think the next step should be for me to remove NCurses6
from ecosystem
, as it is redundant. Do you agree?
from raku-ncurses.
Great. I am open to PRs (i.e. more tests, more examples, ideas for NCurses::Simple or NCurses::Lite). Please also checkout the new examples I am adding :)
Also please note panda
is now deprecated in favor of zef
.
from raku-ncurses.
Related Issues (18)
- Implement simpler holy-based fun API :)
- Cannot use NCurses from another module. HOT 2
- Enhancement: Data::Dump::Tree::Foldable widget HOT 1
- Use wide char library if it is installed HOT 1
- on archlinux, libncurses.so is present, but can not install HOT 1
- Breakage due to recent IO buffering change (missing .close?) HOT 5
- NCurses::Lift HOT 1
- garbled Chinese character HOT 3
- Fails to install under FreeBSD HOT 4
- Crazy CPU utilization && Memory leak ...... HOT 3
- COLS() and LINES() shouldn't be cached HOT 1
- wrefresh(stdscr) causes segfault
- Problem with wborder signature
- example not working on Arch Linux HOT 2
- Export under different groups
- Location of ncursesw.so.5 is hardcoded. HOT 2
- NCURSES_MOUSE_VERSION HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from raku-ncurses.