-
Notifications
You must be signed in to change notification settings - Fork 577
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
OpenSSL on Debian #47
Comments
This looks like the exception is actually happening where openssl.py is trying to build the error message to print out. It's trying to concatenate the literal string with "err", which is some kind of object. I'm not in a position to check this out right now, but I wonder what would happen if you rewrote line 426 like this:
|
I doubt that there is any interesting information in err that is worth printing anyway; it is likely just something like "Error: could not find 'SSL' library". I can just take the 'err' printing out of the code although ultimately the reason rricci2009 is seeing this error is because it cannot find OpenSSL for some reason. I have not tested this on Debian. |
I have changed the code to get rid of the 'exceptions.AttributeError' and changed the code to again try executing the problematic statements outside of any exception handler so that we can read whatever information the exceptions spit out in case it is of any value. |
Some changes: Any idea? |
I have modified the source with:
|
Another bug? <main.singleListener object at 0x973b16c> connected to 59.167.95.209 during INCOMING request. I have 3 message in queue to send. |
I'm running on Fedora 17 (kernel 3.7.3-101.fc17.x86_64), Python 2.7, libssl 1.0.0, and I'm getting undefined symbol errors too. Except in my case it was EC_KEY_free. When I commented those lines out in pyelliptic/openssl.py, it was EC_KEY_new_by_curve_name. Worked perfectly on my Ubuntu 12.04 box though. |
I could be wrong, but I think the root of the problem is that in line 409, when it tries to do this:
It fails to find libcrypto.so, even though it is in /usr/lib64/ I don't know much about OpenSSL but this is my best guess. Hope it helps. |
Probably because your openssl does not have ECC support compiled in on your fedora box. |
I obtain this error every time.. The only variance is the connection counter... sendDataThread thread (associated with 95.241.108.5 ) ID: 3067141356 shutting down now. |
Perhaps the Segmentation fault has a deeper cause and it simply causes the program to exit abruptly causing those "Thread destroyed while still running" messages. An early version of Bitmessage on OS X would Seg fault when the program was minimized to tray. Perhaps your client is Seg faulting because it is attempting to use an OpenSSL function. |
It looks like ECC is left out of Fedora for patent reasons, and that's why On Tue, Feb 19, 2013 at 2:03 AM, jasondz notifications@github.com wrote:
Benjamin J. Thompson |
@Atheros1 No minimization done in taskbar. The message segfault appear randomly. |
The taskbar minimization was only meant as an example. @benjaminthompson Yes, ECC is critical to Bitmessage |
I assume (for now) that I can legally include any compiled OpenSSL library along with the Bitmessage source code. But then this isn't exactly open source and I might as well just ship a fully compiled binary. |
On Debian you will have to do a manual upgrade of openssl to a recent version such as 1.0.1 as described here... http://mariobrandt.de/archives/linux/upgrading-openssl-on-debian-6-squeeze-or-ubuntu-8-04-hardy-456/ I imagine you could do the same on Fedora. |
I have Fedora 18 with openssl 1.0.1 and I get the same error. |
I believe this is because on Fedora (and probably also Debian), that On Wed, Mar 27, 2013 at 2:42 PM, Francesco Frassinelli <
Benjamin J. Thompson |
For everyone who don't want to install a new version of OpenSSL on their system, you can do it this way:
and then add to your ~/.bashrc
Well Bitmessage won't run on Debian6 anyway because it ships python2.6 only and Bitmessage needs at least python2.7, so upgrade python too or fail...
Aight I did it.
Then we do python2.7. Make sure that at the end of make _sqlite3 is NOT in the list of missing modules!
You may use PATH to use python2.7 command on userlevel. Open .bashrc again:
And set a symlink
Now Bitmessage working well. Just open it with
Doesn't work? Exit your bash and open it again to reload .bashrc settings. Olaf PS: Some1 wants to put this stuff to a wiki page? 8-) |
FYI no manual work was required on Debian Wheezy, the new-ish current stable version. |
I tested latest mailchuck fork on Debian 8.2 without problems. I also reworked the search for library a bit. If your python or openssl are too old I can't do much about it, but you should have a way of having an openssl library in a different directory to override the system one. I changed how the directory search order works so you may have better luck now. If it still doesn't work, use pyinstaller to bundle the correct openssl version, and then it should load it from the bundle. |
Quality issues fixed
Solved ackreceived issue
debian 11 |
Try the appimage: https://appimage.bitmessage.org/releases/ |
Debian 6.0.6
Kernel 3.7.8
Python 2.6.6
PyOpenSSL and OpenSSL installed.
python bitmessagemain.py
Traceback (most recent call last):
File "bitmessagemain.py", line 55, in
import highlevelcrypto
File "/home/rricci/Build/sources/PyBitmessage/highlevelcrypto.py", line 1, in
import pyelliptic
File "/home/rricci/Build/sources/PyBitmessage/pyelliptic/init.py", line 16, in
from .openssl import OpenSSL
File "/home/rricci/Build/sources/PyBitmessage/pyelliptic/openssl.py", line 427, in
raise Exception("Couldn't load the OpenSSL library. You must install it. Error message:"+err)
TypeError: cannot concatenate 'str' and 'exceptions.AttributeError' objects
The text was updated successfully, but these errors were encountered: