BitMessage on Fedora 20

Discussion in 'Bitmessage' started by kckndrgn, Feb 15, 2014.


  1. kckndrgn

    kckndrgn Monkey+++ Moderator Emeritus Founding Member

    !!Please see this thread for updated instructions for Fedora 20:!! Bitmessage Installation Instructions Fedora 20



    This is how I got BitMessage working on Fedora 20. I ended up having a fresh install after doing something and crashing my system. So use at your own risk, backup important files, etc.

    I started off on bitmessage.org:
    Compiling instructions - Bitmessage Wiki

    Followed the directions for Fedora and got a core dump when running bitmessagemain.py.

    @melbo and the bitmessage forum pointed me to this site:
    Using ECC in OpenSSL and strongSwan on Fedora | DanielPocock.com

    I tried using the F20 code, but it had some odd errors in the patching of the source code, so I went back to what was in the directions.

    I had 2 changes.
    1) I had to add a patch to fix a "pod document syntax errors". The patch is here:
    http://dl.dropbox.com/u/8224157/public/tmp/openssl-1.0.1c-pod_syntax_error.patch
    and you need to put it in the SOURCES directory.

    2)The next change I did was to change the release level of the build. I edited the openssl.spec and changed the line “Release: 4%{?dist}” to “Release: 37%{?dist}”.

    After these two changes I was able to build and install the openssl per the original directions. I was not able to buil the strongswan, but it does not appear to be needed.

    After installing the new openssl, i was able to start bitmessage.

    The attached word doc has the modified directions.

    Any questions, I can help where I can but this was proll dumb luck that I figured this all out.

    Good Luck!
     

    Attached Files:

    Last edited by a moderator: Sep 10, 2014
  2. DarkLight

    DarkLight Live Long and Prosper - On Hiatus

    @kckndrgn - Thank you. I'll be trying this tomorrow. Unless you want to share the rpms you built and save everyone the work. ;)
     
  3. melbo

    melbo Hunter Gatherer Administrator Founding Member

    Thanks for this. I also borked my OpenSSL package with manual edits and I can't seem to get it working for other applications. Empathy crashes on run and Bitcoin-qt will not load.

    Can you do me a favor and try to install Bitcoin-qt and see if it runs under your modified setup?

    Install this rpm: bitcoin-release-1-5.noarch.rpm

    then install with:
    Code:
    yum install bitcoin
    You now should have the bitcoin app in your Apps or you can run 'bitcoin-qt' from a terminal.

    If it loads and starts to sync, you can kill it and remove with
    Code:
    sudo yum remove bitcoin
    and delete the .bitcoin directory in /home/
     
  4. melbo

    melbo Hunter Gatherer Administrator Founding Member

    I wouldn't think this would affect anything you've already set up for bitmessage and I hope there are no collisions :)
     
  5. kckndrgn

    kckndrgn Monkey+++ Moderator Emeritus Founding Member

    @melbo I was able to install and run bitcoin, no problems and bitmessage appears to play nice with it.

    I guess the real test will be rebooting my system and everything comes back up. Going to go dark for a moment while I reboot.

    @techsar I'll see if I can get the rpms uploaded. Use at your own risk
     
    DarkLight, techsar and melbo like this.
  6. melbo

    melbo Hunter Gatherer Administrator Founding Member

    uh oh, 51 min and he's not back...
     
  7. kckndrgn

    kckndrgn Monkey+++ Moderator Emeritus Founding Member

    uh, yeah, on the laptop. :(

    May have to re-install and try again. I know at some point I did some package removals for stuff I had installed, and it appears I broke something.

    The network interface will not come up, I'm getting:
     
  8. melbo

    melbo Hunter Gatherer Administrator Founding Member

    I think that's what happens with all the manual edits if OpenSSL and libgcrypt.

    I actually modified my kernel too. Anything on my system that calls OpenSSL is malfunctioning.

    Moving /home and /Data (my second HDD) to external drive now for system restore. :( I think I'm going to run Mint or Debian in Boxes as a VM for BM until Fedora legal resolves this.

    On another note, I got lazy with the Arch install and instead installed Antergos on a spare laptop. It's 99.98 Arch without the installation pain. Running Gnome with all things Bit* working. Arch is a different beast though and I'm not sure I'm ready for it full time.
     
  9. ghrit

    ghrit Bad company Administrator Founding Member

    Shouldn't this thread be in technical?
     
  10. melbo

    melbo Hunter Gatherer Administrator Founding Member

    You find this technical?
    I call it a fun way to spend a weekend - blow up one system and start over all in the name of playing cat and mouse with the NSA :)

    The relevance is Bitmessage and Fedora
     
  11. ghrit

    ghrit Bad company Administrator Founding Member

    Yes to all, but the thread is in comms --- Yeesh, I know I'm slow but that slow? Well, maybe.
     
  12. melbo

    melbo Hunter Gatherer Administrator Founding Member

    But in the Bitmessage subforum in Comms per BTP's request.
     
  13. BTPost

    BTPost Stumpy Old Fart,Deadman Walking, Snow Monkey Moderator

    Let us keep BitMessage stuff in one place, like we did with MonkeyNet......
     
  14. kckndrgn

    kckndrgn Monkey+++ Moderator Emeritus Founding Member

    morning update.

    Since I did a fresh install last night, I rebuild the RPM for openssl to include the EC stuff, and it appears to be working, but I still get the core dump on the bitmessagemain.py script.

    So, I have the EC enabled aparently, but bitmessage still fails.

    there are some steps here that I may try
     
  15. kckndrgn

    kckndrgn Monkey+++ Moderator Emeritus Founding Member

    @melbo:
    It's working, consistently now. So far no side effects found.

    I had to edit the following files in ./openssl-1.0.1/docs/apps/
    cms.pod
    smime.pod
    The problem are the lines that are "Item #". It should be "Item C<#>"
    I create a patch file, and zipped it (attached below). download the attached file, unzip it and apply the patch.
    patch -p0 < docs.patch
    note: no warranties on the patch file, it's the first one I've ever made :) !
    I did that, and I was able to run bitmessage. So, I rebooted. Made sure the LD_LIBRARY_PATH was in the ENV and I was able to run bitmessage.

    I guess the next thing will be to see if I can rebuild the library and install it to a more general location /var/lib for example. But for now, I'm not gonna rock the boat.

    Bitmessage and Bitoin BOTH work on my system.

    I tried doing this with openssl-1.0.1e but it didn't work :( Or maybe it will and I missed a step somewhere. Regardless, the docs files need to be patched in order to build it.

    Good luck!
     

    Attached Files:

    • docs.zip
      docs.zip
      File size:
      624 bytes
      Views:
      499
    Last edited by a moderator: Jan 26, 2015
    melbo likes this.
  16. DarkLight

    DarkLight Live Long and Prosper - On Hiatus

    I figured out how to make bitmessage work on Fedora 20 without recompiling the OpenSSL RPM.

    Basically, the instructions for setting the LD_LIBRARY_PATH are...the worst possibly kind.

    The correct way to do this (and now it works btw and doesn't break anything) are to follow the instructions on the site for getting the modified library installed but DO NOT GLOBALLY SET YOUR LD_LIBRARY_PATH variable.

    Instead, once everything is installed, created a wrapper script containing the following:

    Code:
    export LD_LIBRARY_PATH="/opt/openssl-compat-bitcoin/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
    /home/<yourusername>/PyBitmessage/src/bitmessagemain.py
    > /dev/null 2>&1 &
    
    The export command is ONLY for the process that is running inside the wrapper.
    The /dev/null 2>&1 & does two things. First, it backgrounds the process so if you fire this off from a shell, you don't lose the shell and secondly, it dumps ALL of the output of STDOUT (normal messages) and STDERR (error messages) to /dev/null (so much heat out of the back/side of your computer).

    Name the wrapper script whatever you want, mark it executable (probably 755) and put it in /usr/bin so you can run it from anywhere and/or create a link to it on your desktop.

    DAMN that was a lot of work. If only the instructions had been right in the first place...

    PS - I'm contacting the website/project admin and suggesting the change.
     
  17. melbo

    melbo Hunter Gatherer Administrator Founding Member

    Makes sense in that without the wrapper, ALL of my SSL/EC/Blah traffic was routed to that glib.
    Maybe we can create a step by step that starts at the beginning. Would help a lot of people as I think I've read every post in forums about F18-f20 and bitmessage.

    I take it you also have bitcoin-qt running on the same box?
     
  18. DarkLight

    DarkLight Live Long and Prosper - On Hiatus

    I don't yet. This was just a base VM to figure out bitmessage. I'll install bitcoin-qt in the morning. I'm tired. I have spent WAY too long on the computer for a weekend with no writing getting done. :)
     
  19. melbo

    melbo Hunter Gatherer Administrator Founding Member

    Understood. I took a break today. Too much code this weekend.

    Before I broke (temp I'm sure) my Fedora, I could get one or the other working. I wish the guy from ringingliberty would create a rpm for bm.
     
  20. kckndrgn

    kckndrgn Monkey+++ Moderator Emeritus Founding Member

    Ran the usual post install updates and installs, everything is still functional.
    OK, I'll give this a try, but I have a question. With my fresh install I did not have a LD_LIBRARY_PATH in the envrionment. I installed the bitcoin openssl per the bitmessage website, created the global path variable, and still could not run bitmessage, and nothing else was broken.

    -Tried it, failed.
    $ unset LD_LIBRARY_PATH

    $ echo $LD_LIBRARY_PATH

    $ ./bm.sh
    Loading existing config files from /home/ryan/.config/PyBitmessage/
    2014-02-17 06:25:19,149 - DEBUG - Database file already exists.
    2014-02-17 06:25:19,533 - DEBUG - Loaded 0 objects from disk into the objectProcessorQueue.
    2014-02-17 06:25:19,548 - DEBUG - reloading keys from keys.dat file
    ./bm.sh: line 4: 17323 Segmentation fault (core dumped) /home/ryan/PyBitmessage/src/bitmessagemain.py

    So, this is with the original "hobbled" openssl rpm in place. If I put LD_LIBRARY_PATH back to the one I made from source, it works.
     
  1. BenP
  2. melbo
  3. melbo
  4. DarkLight
  5. Witch Doctor 01
  6. melbo
  7. DarkLight
  8. DarkLight
  9. melbo
  10. BTPost
  11. melbo
survivalmonkey SSL seal        survivalmonkey.com warrant canary
17282WuJHksJ9798f34razfKbPATqTq9E7