converting Pidgin to ChatSecure file crashes on Windows
WARNING: file already exists but should not: C:\DOCUME~1\pd\LOCALS~1\Temp\_MEI18442\include\pyconfig.h WARNING: file already exists but should not: C:\DOCUME~1\pd\LOCALS~1\Temp\_MEI18442\include\pyconfig.h Parsing pidgin Exception in Tkinter callback Traceback (most recent call last): File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\Tkinter", line 1470, in __call__ File "<string>", line 466, in convert_to_local File "<string>", line 458, in convert File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\otrapps.chatsecure", line 108, in write File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\subprocess", line 711, in __init__ File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\subprocess", line 948, in _execute_child WindowsError: [Error 2] The system cannot find the file specified
#2 Updated by abeluck about 4 years ago
- Status changed from New to In Progress
- Assignee changed from abeluck to hans
- Priority changed from Urgent to Immediate
Yesterday I tested keysync on a different windows computer and it worked.
I thought it was some sort of user/path issue seeing how you got "abel" in your paths in the ST, I thought this bug was inadvertently fixed.
It was bothering me though, so today I tried again in a new windows VM and repro-ed this crash. Turns out the path containing 'abel' was a red-herring.
The cause of the crash is that openssl is not installed. By luck it turns out the other windows computer I tested it on had openssl installed (the guy was also a developer).
We've a few options:
- Require the user to install openssl via the installer before using KeySync
- Compile OpenSSL ourselves and bundle it with KeySync
- Migrate away from OpenSSL (to keyczar?)
There are no "official" openssl builds for windows, and the one linked from the project page only comes as an installer, hence (1), which really isn't an option IMHO. The whole easy-to-use one-click convenience of keysync disappears if we have to install a dependency.
(3) is probably the right choice in the long term, but would require too much effort to ensure cross-android / python compat, so I think (2) is what we should do for now.
I estimate it would take a few hours to get a OpenSSL build w/ mingw going, then an hour more to get it bundled into the pyinstaller .exe
#4 Updated by hans about 4 years ago
For the short term, can't you just bundle in the openssl binaries that you've been using?
For the long term, I think we should implement what we need in python as much as possible.
We're basically at negative hours left for PSST, so the quickest route is the best.
#5 Updated by hans about 4 years ago
Upon thinking about it, let's just tell people to install the OpenSSL binaries themselves for now. Then in a future version, hopefully we can implement AES-GCM in python and this issue will go away. Can you add the download link and quick install instructions to the keysync page: