Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: laszlo on July 13, 2010, 06:32:44 PM



Title: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: laszlo on July 13, 2010, 06:32:44 PM
This is mostly for those having troubles on fedora with newer openssl than the binaries on the front page of the site were built with.

Please try these or compile yourself using these instructions: http://heliacal.net/~solar/bitcoin/bitcoin-linuxbuild.pdf


http://heliacal.net/~solar/bitcoin/builds/Linux-amd64-SVN-102/



Title: Re: Static Linux x86_64 bins for those having libcrypto troubles
Post by: diven on July 13, 2010, 10:23:55 PM
Thanks!

Works on Slackware64 13.1.


Title: Re: Static Linux x86_64 bins for those having libcrypto troubles
Post by: dougztr on July 14, 2010, 05:02:47 AM
No dice on my Gentoo system. I get the following.

$ bitcoin
bitcoin: /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by bitcoin)

and then

$ ldd bitcoind
./bitcoind: /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./bitcoind)
   linux-vdso.so.1 =>  (0x00007fffc9bff000)
   libdl.so.2 => /lib/libdl.so.2 (0x00007ffeefbe1000)
   libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 (0x00007ffeef8d3000)
   libm.so.6 => /lib/libm.so.6 (0x00007ffeef64e000)
   libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007ffeef437000)
   libpthread.so.0 => /lib/libpthread.so.0 (0x00007ffeef21a000)
   libc.so.6 => /lib/libc.so.6 (0x00007ffeeeea4000)
   /lib64/ld-linux-x86-64.so.2 (0x00007ffeefde5000)


This file isn't statically linked. I'm only trying to use it because my gentoo system is in a bad state and will take some time to get upgraded to build the source code.

Anyways, thought I'd send a bug report


Title: Re: Static Linux x86_64 bins for those having libcrypto troubles
Post by: Ground Loop on July 15, 2010, 01:07:17 AM
I get the same:
`GLIBCXX_3.4.11' not found
on Debian.

The libg++ is not as new as the one bitcoind was compiled with, and the newer one is not available in stable.


Title: Re: Static Linux x86_64 bins for those having libcrypto troubles
Post by: laszlo on July 15, 2010, 01:56:37 AM
Is it possible to statically link the c++ library?  If it is possible, is it something that is an acceptable practice or does it cause problems?  Maybe just include the library with the program?  When I said static I was only referring to openssl :)


Title: Re: Static Linux x86_64 bins for those having libcrypto troubles
Post by: satoshi on July 15, 2010, 02:33:04 PM
We don't even specify linking glibcxx_3.4.11, so gcc must automatically link it behind the scenes.  There's probably a compiler switch that would tell it to static link it.  I'm not sure what the licensing issues would be.  Typically, compiler stuff is fully redistributable.


Title: UPDATED - Static Linux x86_64 bins for those having libcrypto troubles
Post by: laszlo on July 15, 2010, 02:57:20 PM
Updated to link the C++ library statically, can someone with the GLIBCXX_ version problem please try this and let us know if it works?

http://heliacal.net/~solar/bitcoin/builds/Linux-amd64-SVN-103/



Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: laszlo on July 15, 2010, 03:00:26 PM
Here is my ldd output for these binaries:

Quote

$ ldd bitcoind
        linux-vdso.so.1 =>  (0x00007fffc2dff000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f8433a64000)
        libm.so.6 => /lib/libm.so.6 (0x00007f84337e1000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f84335c3000)
        libc.so.6 => /lib/libc.so.6 (0x00007f8433240000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8433c85000)


$ ldd bitcoin
        linux-vdso.so.1 =>  (0x00007fff3f5b0000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f001d7d4000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f001d527000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f001d305000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f001d0db000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f001cebf000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f001cc0b000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f001c9c1000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f001c73b000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f001c505000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f001c2bd000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f001c0b9000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f001beb3000)
        librt.so.1 => /lib/librt.so.1 (0x00007f001bcab000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f001b9cd000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f001b7c9000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f001b5c0000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f001b3bc000)
        libm.so.6 => /lib/libm.so.6 (0x00007f001b138000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f001af1b000)
        libc.so.6 => /lib/libc.so.6 (0x00007f001ab98000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f001de13000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f001a98a000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f001a654000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f001a3d1000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f001a1be000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f0019fb4000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f0019da4000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f0019b9a000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f0019990000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f001978d000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f0019589000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f0019383000)
        libz.so.1 => /lib/libz.so.1 (0x00007f001916c000)
        libpcre.so.3 => /lib/libpcre.so.3 (0x00007f0018f3d000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00007f0018d24000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00007f0018b05000)
        libexpat.so.1 => /lib/libexpat.so.1 (0x00007f00188dc000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f00186c0000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x00007f00184bb000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f001829e000)
        libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f0018045000)
        libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 (0x00007f0017dc2000)
        libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0x00007f0017bb7000)
        libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0x00007f001799e000)
        libpng12.so.0 => /lib/libpng12.so.0 (0x00007f0017777000)
        libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007f0017572000)
        libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f0017369000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f0017164000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f0016f5e000)



Title: Re: UPDATED - Static Linux x86_64 bins for those having libcrypto troubles
Post by: sirius on July 15, 2010, 03:53:49 PM
Updated to link the C++ library statically, can someone with the GLIBCXX_ version problem please try this and let us know if it works?

Doesn't work here, says
Code:
./bitcoind: /lib/libc.so.6: version `GLIBC_2.8' not found (required by ./bitcoind)


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: Ground Loop on July 15, 2010, 05:38:56 PM
Conversely, is there a way to build bitcoind (only) from source?  That is, don't even look for the Wx/gtk libs on a headless server machine?

I wanted to build bitcoind on a Debian/stable machine that doesn't have these new libraries, but at a first pass, it seems to want the graphics libraries/includes even for "make bitcoind".  Any tips?


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: laszlo on July 15, 2010, 05:42:41 PM
You can do a base only build of wxWidgets - Satoshi is in the process of writing replacement functions for the few hooks that bitcoind still needs from wxWidgets and then it will be possible to do without it completely.

Make sure you use wxWidgets 2.9 not 2.8 when you build it.  These notes might help you get started, then you can fine tune the configure command from there for your system - http://heliacal.net/~solar/bitcoin/bitcoin-linuxbuild.pdf

Also take a look at the wx-config usage in this makefile: http://heliacal.net/~solar/bitcoin/makefile.unix2


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: Ground Loop on July 15, 2010, 05:53:25 PM
Thanks.  I'm trying that now.  I've installed over a hundred debian packages so far to bring in gtk, x11 common, boost... For a lean headless file server, this really bloated out the package install.

A no-graphics (no x11) build process would be awesome.


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: Ground Loop on July 15, 2010, 06:14:30 PM
There is one include fine that doesn't seem to be present on a wx "base only" system:
#include <db_cxx.h>
(from headers.h)

Where does db_cxx.h come from?


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: laszlo on July 15, 2010, 06:15:31 PM
Berkeley DB


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: laszlo on July 15, 2010, 06:30:41 PM
Ok I really want to get this right.. sirius-m can you try it one more time?  I removed the static link to libgcc which was pulling in the dependency on the newer glibc.

I replaced the binaries in this location with new ones : http://heliacal.net/~solar/bitcoin/builds/Linux-amd64-SVN-103/

Quote
$ ldd bitcoind
        linux-vdso.so.1 =>  (0x00007fff31d9c000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007fc6c5b15000)
        libm.so.6 => /lib/libm.so.6 (0x00007fc6c5892000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fc6c567a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fc6c545d000)
        libc.so.6 => /lib/libc.so.6 (0x00007fc6c50da000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc6c5d36000)


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: Ground Loop on July 15, 2010, 06:34:27 PM
Ah, my mistake.  I was missing
sudo apt-get install libdb4.6++-dev

Getting further now.

I hitting this:
/usr/include/assert.h:39:42: error: missing binary operator before token "("

Code:
#if defined __cplusplus && __GNUC_PREREQ (2,95)
# define __ASSERT_VOID_CAST static_cast<void>
#else
# define __ASSERT_VOID_CAST (void)
#endif

Not sure what to make of this yet.

(I'd try the static binary listed above, but this old server is still 32-bit.)


Title: Re: Static Linux x86_64 bins for those having libcrypto troubles
Post by: Odin on July 29, 2010, 03:37:44 AM
We don't even specify linking glibcxx_3.4.11, so gcc must automatically link it behind the scenes.  There's probably a compiler switch that would tell it to static link it.  I'm not sure what the licensing issues would be.  Typically, compiler stuff is fully redistributable.

It is because the system the lead developer is using is probably "bleeding edge" (as in very new, very recent, very uptodate).  This is not a system that should be used to build something aimed to be redistributable to the widest audience.

Please see some potential improvements in my thread http://bitcointalk.org/index.php?topic=612.0


Do the Windows and MacOS binary downloads come without these respective libraries (re boost/wxWidgets) ?   The Linux specific parts such as glibc and GCC toolchain to use the LGPL for the runtime redistributable components.  I believe the X11 library parts to be MIT.  I believe the GTK+ to be LGPL.  Freetype is LGPL (and/or BSD like).  Expat is LGPL.  OpenSSL is BSD+Notice (although you already know that from your credits).

Looking through the list "ldd bin/{32,64}/bitcoin" I think I have just about covered them all.


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: nimnul on August 04, 2010, 11:59:34 AM
JFYI: bitcoind from http://heliacal.net/~solar/bitcoin/builds/Linux-amd64-SVN-103/ fails on CentOS 5 x86_64:

[foo@bar ~]$ ./bitcoind.3
./bitcoind.3: /lib64/libc.so.6: version `GLIBC_2.8' not found (required by ./bitcoind.3)
./bitcoind.3: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by ./bitcoind.3)


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: GoldRush on August 05, 2010, 03:11:15 AM
I've got a lot of redhat machines here.  Trying to run on one of them and get:

[root@bandit1 64]# ./bitcoind
./bitcoind: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./bitcoind)
./bitcoind: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by ./bitcoind)
[root@bandit1 64]#

*sigh*  Can someone give me a few baby steps to make this work?

Thank you.


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: nimnul on August 08, 2010, 06:08:51 PM
There is a topic for that - http://bitcointalk.org/index.php?topic=685.0

AFAIK CentOS, Fedora and RHEL are pretty much the same systems.


Title: Re: UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles
Post by: jgarzik on August 08, 2010, 06:13:45 PM
There is a topic for that - http://bitcointalk.org/index.php?topic=685.0

AFAIK CentOS, Fedora and RHEL are pretty much the same systems.

CentOS and RHEL are built from the same packages, which are older and more stable.

Fedora is built from much newer, packages, often with different software.