-
Notifications
You must be signed in to change notification settings - Fork 31
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
[Windows] libedit-3.dll issues #74
Comments
On Sun, Nov 08, 2020 at 08:32:38PM -0800, Joshua Cain wrote:
When launching Rash, the following error message appears:
`ffi-lib: couldn't open "libedit-3.dll" (The specified module could not be found.; errid=126)`
I am using Racket v7.9.
Does the same thing happen with Racket v7.8? I think the version of
libedit bundled with Racket was updated in this latest release. Do
you get the same error when running a normal Racket repl?
|
Yes.
No. I can get into a normal REPL just fine without issue. |
Huh. That's weird. Historically installing the readline-gpl package
(`raco pkg install readline-gpl`) fixes issues with the line editing.
Try that for now. I don't have a Windows machine handy to track this
down at the moment.
…On Sat, Nov 14, 2020 at 07:35:03PM -0800, Joshua Cain wrote:
> Does the same thing happen with Racket v7.8?
Yes.
> Do you get the same error when running a normal Racket repl?
No.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#74 (comment)
|
I'm not the OP, but I'm having the same problem. I don't see libedit.dll in my Racket 7.9 installation. (Unlike the OP's error message, my system does not find libedit.dll and not libedit-3.dll.) My Windows 10 system is version 2004 build 19041.388. Instead of trying to fill in libedit.dll, I will try readline. So I install the package first. %raco pkg install readline-gpl Now I try to run it from cmd.exe. C:\Users\x\AppData\Roaming\Racket\7.9>rash-repl.exe That's just Portuguese for "The specified module could not be found.; errid=126)". Put libreadline-5.dll in the same directory as rash-repl.exe. C:\Users\x\AppData\Roaming\Racket\7.9>dir libreadline-5.dll Pasta de C:\Users\x\AppData\Roaming\Racket\7.9 07/03/2005 17:48 229.888 libreadline-5.dll Trying to run, I get: This means "%1 is not a valid Win32 application; errid=193". I must have the wrong DLL for my system or something like that. I downloaded it from http://gnuwin32.sourceforge.net/downlinks/readline.php I suppose you wouldn't know what to do here? Thank you. |
I suppose you wouldn't know what to do here? Thank you.
Sorry, I don't know. I'm afraid I don't have time right now to try to
figure it out either. I don't use Windows, so it's harder for me to
debug than Linux. My long-term plan is to replace the readline
dependency completely with a line editor written in Racket. But I
won't be able to do that terribly soon either since I'm busy teaching
and wrapping up my PhD.
|
I believe the problem I have is that rash-repl.exe is a 64-bit application and I can't find a 64-bit version of readline. I believe we cannot mix two architectures in the same program.
Since I cannot find a 64-bit application, would it be much trouble for you to compile rash-repl.exe as a 32-bit application? I believe this would take care of things for me and, therefore, for practically all other Windows users --- having this exact issue. But I know you're busy. If this is not just another command for compiling this desired version, don't worry about it. I can manage to eventually compile the right library version for the right architecture. Thank you either way. I'm insisting because I think the software is great. I read your paper carefully in the last couple of days. Thanks for writing it. |
On Mon, Mar 08, 2021 at 10:30:28AM -0800, noweb-user wrote:
I believe the problem I have is that rash-repl.exe is a 64-bit application and I can't find a 64-bit version of readline. I believe we cannot mix two architectures in the same program.
Aha!
--8<---------------cut here---------------start------------->8---
%file rash-repl.exe libhistory8.dll libreadline8.dll
rash-repl.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
libhistory8.dll: PE32 executable (DLL) (console) Intel 80386 (stripped to external PDB), for MS Windows
libreadline8.dll: PE32 executable (DLL) (console) Intel 80386 (stripped to external PDB), for MS Windows
--8<---------------cut here---------------end--------------->8---
Since I cannot find a 64-bit application, would it be much trouble for you to compile rash-repl.exe as a 32-bit application? I believe this would take care of things for me and, therefore, for practically all other Windows users --- having this exact issue.
Did you install the 64-bit version of Racket? When you `raco pkg
install rash` I assume it compiles it according to the version of
Racket you installed. Perhaps Racket is bundling the wrong version of
libedit? At any rate, I know some issues with libedit bundling were
fixed in Racket 8.0, so it might already be fixed for newer Rackets.
I don't actually distribute a pre-built executable, just a Racket
package definition which `raco pkg` knows how to build.
But I know you're busy. If this is not just another command for compiling this desired version, don't worry about it. I can manage to eventually compile the right library version for the right architecture.
Yeah, I'm not sure how to force Racket to build for a specific
architecture, and I don't have time to dive into that right now.
Sorry.
Thank you either way. I'm insisting because I think the software is great. I read your paper carefully in the last couple of days. Thanks for writing it.
Thanks! I hope to make time to make it better eventually!
|
Thanks for the info! I was able to build it by installing a 32-bit Racket 8.0 BC, the latest available on the website today. Any 32-bit version should do. I believe this might be almost required because it's not easy to find a 64-bit version of readline 5.0. (Unless one is willing to compile it oneself, which might not be too difficult, but I wanted to avoid the task.) I found a 64-bit version of readline 8.0, which does not seem to work with 64-bit rash-repl.exe. For the future reader, here are the steps. Install 32-bit Racket, install readline-gpl (raco pkg install readline-gpl), then install rash (raco pkg install rash). In the output produced, you should [see] the path for your rash-repl.exe. For 64-bit versions, you'd be better off compiling readline by yourself and I'd choose version 5.0 because version 8.0 doesn't seem to work and I am not confident readline 6.0 would, although the closer to 5.0 the better --- I suppose. Good luck! William, you can close this issue if you'd like. Thank you again. |
On Sat, Mar 13, 2021 at 04:27:27PM -0800, noweb-user wrote:
Thanks for the info! I was able to build it by installing a 32-bit Racket 8.0 BC, the latest available on the website today. Any 32-bit version should do. I believe this might be almost required because it's not easy to find a 64-bit version of readline 5.0. (Unless one is willing to compile it oneself, which might not be too difficult, but I wanted to avoid the task.) I found a 64-bit version of readline 8.0, which does not seem to work with 64-bit rash-repl.exe.
For the future reader, here are the steps. Install 32-bit Racket, installed readline-gpl (raco pkg install readline-gpl), then install rash (raco pkg install rash). In the output produced, you should the path for your rash-repl.exe. For 64-bit versions, you'd be better off compiling readline by yourself and I'd choose version 5.0 because version 8.0 doesn't seem to work and I am not confident readline 6.0 would, although the closer to 5.0 the better --- I suppose. Good luck!
Cool, I'm glad you found a solution, and thank you for posting it!
William, you can close this issue if you'd like. Thank you again.
I think I'll leave it open until I resolve the line editing solution,
because people keep having problems like this. So leaving the issue
open will hopefully give the solution more visibility.
|
When launching Rash, the following error message appears:
ffi-lib: couldn't open "libedit-3.dll" (The specified module could not be found.; errid=126)
I am using Racket v7.9.
The text was updated successfully, but these errors were encountered: