JetBrains / jediterm

Pure Java Terminal Emulator. Works with SSH and PTY.
GNU Lesser General Public License v3.0
677 stars 170 forks source link

Windows: jediterm-pty.bat fails with initial error 'Couldn't find libwinpty.dll' #122

Open zipizap opened 8 years ago

zipizap commented 8 years ago

With windows 7 enterprise 64 bits, made a fresh git-clone of current master (Latest commit 7765a4b), and executed jediterm-pty.bat, which fails with error 'Couldn't find libwinpty.dll'

Could this be because only lib/win/x86/libwinpty.dll exists but lib/win/x86_64/libwinpty.dll does not exist? If so, where could I get the missing lib/win/x86_64/libwinpty.dll file ? Thanks

C:\Users\xxx\Desktop\mios\tmp\orig\jediterm>jediterm-pty.bat

C:\Users\xxx\Desktop\mios\tmp\orig\jediterm>java -cp "lib/pty4j-0.5.jar;lib/guava-14.0.1.jar;lib/jna.jar;lib/jna-platform.jar;lib/jsch-0.1.51.jar;lib/junit-4.10.jar;lib/jzlib-1
.07.jar;lib/log4j-1.2.14.jar;lib/purejavacomm-0.0.17.jar;build/jediterm-pty-2.0.jar;lib" com.jediterm.pty.PtyMain
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.pty4j.windows.WinPtyProcess.<init>(WinPtyProcess.java:37)
        at com.pty4j.PtyProcess.exec(PtyProcess.java:77)
        at com.pty4j.PtyProcess.exec(PtyProcess.java:50)
        at com.jediterm.pty.PtyMain.createTtyConnector(PtyMain.java:39)
        at com.jediterm.terminal.ui.AbstractTerminalFrame.openSession(AbstractTerminalFrame.java:115)
        at com.jediterm.terminal.ui.AbstractTerminalFrame.<init>(AbstractTerminalFrame.java:173)
        at com.jediterm.pty.PtyMain.<init>(PtyMain.java:27)
        at com.jediterm.pty.PtyMain.main(PtyMain.java:50)
Caused by: java.lang.IllegalStateException: Couldn't detect jar containing folder
        at com.pty4j.windows.WinPty.getLibraryPath(WinPty.java:158)
        at com.pty4j.windows.WinPty.<clinit>(WinPty.java:151)
        ... 8 more
Caused by: java.lang.IllegalStateException: Couldn't find libwinpty.dll, jar folder C:\Users\ecampau\Desktop\mios\tmp\orig\jediterm\lib
        at com.pty4j.util.PtyUtil.resolveNativeLibrary(PtyUtil.java:81)
        at com.pty4j.windows.WinPty.getLibraryPath(WinPty.java:155)
        ... 9 more
zipizap commented 8 years ago

This issue seems to be because my OS is windows 64 bits, and the following files were missing in the repository:

I've found the missing files in other github repos and after copying them over into jediterm\lib\win\x86_64, then jediterm-pty worked correctly.

So this issue is because of the above missing files, which are not yet present in the jediterm repository

zipizap commented 8 years ago

To fix this, I've made pull request #123 Leaving issue open, for it to be fixed in JetBrains/jediterm:master

dirkbike commented 8 years ago

I'm also running into this issue 8 months later. Is there a reason why the 64-bit version of winpty is still not included? For anyone else looking for winpty it can be found here: rprichard/winpty