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

2024.10 Cannot locate native library 'readline.dll' #205

Open
gwankyun opened this issue Oct 28, 2024 · 8 comments
Open

2024.10 Cannot locate native library 'readline.dll' #205

gwankyun opened this issue Oct 28, 2024 · 8 comments

Comments

@gwankyun
Copy link

raku
Welcome to Rakudo(tm) Star v2024.10.
Implementing the Raku(R) Programming Language v6.d.
Built on MoarVM version 2024.10.

I ran into a problem while trying to set up Readline: Cannot locate native library 'readline.dll': error 0x7e

@lizmat
Copy link
Contributor

lizmat commented Oct 28, 2024

What OS are you running on?

@gwankyun
Copy link
Author

gwankyun commented Oct 28, 2024 via email

@AntonOks
Copy link
Collaborator

AntonOks commented Nov 1, 2024

Well...

  1. The "Readline raku module" expects "GNU Readline" to be installed, which is more than unusual on Windows.
  2. Star installs a set of modules, the same modules on Linux and Windows.

raku Welcome to Rakudo(tm) Star v2024.10. Implementing the Raku(R) Programming Language v6.d. Built on MoarVM version 2024.10.

I ran into a problem while trying to set up Readline: Cannot locate native library 'readline.dll': error 0x7e

Thanks for reporting...

  1. Star installs a set of modules, same modules on Linux and Windows.
  2. The "Readline raku module" expects "GNU Readline" to be installed on the client, which is more than unusual on Windows.

I'm not sure how to tackle such issues in general.
You can either ignore this message (as the fallback works ;) ), de-install the "Readline" module or get the readline.dll [1] somehow on your system where RAKU will find it.

[1] - The readline.dll would have to be build / compiled with the same tool chais as RAKU itself was build, so for the Windows versions of Rakudo and Star, this is currently MSVC... right now, I would only be aware of KeePassXC, which brings a perfect fitting readline.dll along...

@gwankyun
Copy link
Author

gwankyun commented Nov 2, 2024

You can either ignore this message

It can ignore on 2024.09, repl just reported warning, but crashed this version.

@AntonOks
Copy link
Collaborator

AntonOks commented Nov 2, 2024

You can either ignore this message

It can ignore on 2024.09, repl just reported warning, but crashed this version.

Any error message(s)?

@gwankyun
Copy link
Author

gwankyun commented Nov 4, 2024

You can either ignore this message

It can ignore on 2024.09, repl just reported warning, but crashed this version.

Any error message(s)?

Welcome to Rakudo(tm) Star v2024.10.
Implementing the Raku(R) Programming Language v6.d.
Built on MoarVM version 2024.10.

I ran into a problem while trying to set up Readline: Cannot locate native library 'readline.dll': error 0x7e
Falling back to Linenoise (if present)
To exit type 'exit' or '^Z'
[0] >Cannot locate symbol 'tcgetattr' in native library ''
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 359
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 399
in sub raku-nativecall at C:\Program Files\Rakudo\share\perl6\core\sources\5228944CC4FA77F123C90F521225D03ABE23DF88 (NativeCall::Dispatcher) line 50
in sub getattr at C:\Program Files\Rakudo\share\perl6\site\sources\2184C24047A3D6F4FDDB14A7DDE5E8726DC1D1C2 (Terminal::MakeRaw) line 43
in method enter-raw-mode at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 330
in method read-input at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 739
in method prompt at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 884
in method repl-read at 'SETTING::'src/core.c/REPL.rakumod line 125
in method repl-loop at 'SETTING::'src/core.c/REPL.rakumod line 447
in any

at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1
in any at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1

[0] >Cannot locate symbol 'tcgetattr' in native library ''
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 359
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 399
in sub raku-nativecall at C:\Program Files\Rakudo\share\perl6\core\sources\5228944CC4FA77F123C90F521225D03ABE23DF88 (NativeCall::Dispatcher) line 50
in sub getattr at C:\Program Files\Rakudo\share\perl6\site\sources\2184C24047A3D6F4FDDB14A7DDE5E8726DC1D1C2 (Terminal::MakeRaw) line 43
in method enter-raw-mode at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 330
in method read-input at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 739
in method prompt at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 884
in method repl-read at 'SETTING::'src/core.c/REPL.rakumod line 125
in method repl-loop at 'SETTING::'src/core.c/REPL.rakumod line 447
in any

at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1
in any at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1

[0] >Cannot locate symbol 'tcgetattr' in native library ''
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 359
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 399
in sub raku-nativecall at C:\Program Files\Rakudo\share\perl6\core\sources\5228944CC4FA77F123C90F521225D03ABE23DF88 (NativeCall::Dispatcher) line 50
in sub getattr at C:\Program Files\Rakudo\share\perl6\site\sources\2184C24047A3D6F4FDDB14A7DDE5E8726DC1D1C2 (Terminal::MakeRaw) line 43
in method enter-raw-mode at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 330
in method read-input at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 739
in method prompt at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 884
in method repl-read at 'SETTING::'src/core.c/REPL.rakumod line 125
in method repl-loop at 'SETTING::'src/core.c/REPL.rakumod line 447
in any

at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1
in any at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1

[0] >Cannot locate symbol 'tcgetattr' in native library ''
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 359
in method setup at C:\Program Files\Rakudo\share\perl6\core\sources\14F0F0534C870E1E63E36F719EE99DE84801C5C3 (NativeCall) line 399
in sub raku-nativecall at C:\Program Files\Rakudo\share\perl6\core\sources\5228944CC4FA77F123C90F521225D03ABE23DF88 (NativeCall::Dispatcher) line 50
in sub getattr at C:\Program Files\Rakudo\share\perl6\site\sources\2184C24047A3D6F4FDDB14A7DDE5E8726DC1D1C2 (Terminal::MakeRaw) line 43
in method enter-raw-mode at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 330
in method read-input at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 739
in method prompt at C:\Program Files\Rakudo\share\perl6\site\sources\1F85045AFD4BECC446A46588301CBA42671BE415 (Terminal::LineEditor::RawTerminalInput) line 884
in method repl-read at 'SETTING::'src/core.c/REPL.rakumod line 125
in method repl-loop at 'SETTING::'src/core.c/REPL.rakumod line 447
in any

at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1
in any at C:\Program Files\Rakudo\bin..\share\perl6\runtime\perl6.moarvm line 1
... forever

@patrickbkr
Copy link
Collaborator

Just FYI. I'm soon starting to work on getting all of the native Raku Terminal stack working on Windows. This will include Terminal-ReadLine. Currently it's mostly NYI everywhere. Lately Windows natively supports terminal escape sequences. It does not support the surrounding C APIs like termios. A start should be: https://todo.sr.ht/~patrickb/Terminal-MakeRaw/1.

@AntonOks
Copy link
Collaborator

see also #206

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

4 participants