UPDATED - Linux x64 bins for those having libcrypto and GLIBCXX_3.4.11 troubles

9 messages BitcoinTalk Laszlo Hanyecz, dougztr, Ground Loop, Satoshi Nakamoto, Sirius, Odin July 13, 2010 — July 29, 2010
Laszlo Hanyecz (laszlo) July 13, 2010 18:32 UTC Source ·

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/

dougztr July 14, 2010 05:02 UTC Source ·

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

Ground Loop July 15, 2010 01:07 UTC Source ·

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.

Laszlo Hanyecz (laszlo) July 15, 2010 01:56 UTC Source ·

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 😊

Satoshi Nakamoto July 15, 2010 14:33 UTC Source ·

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.

Laszlo Hanyecz (laszlo) July 15, 2010 14:57 UTC Source ·

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/

Laszlo Hanyecz (laszlo) July 15, 2010 15:00 UTC Source ·

Here is my ldd output for these binaries:

$ 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)
Sirius (sirius) July 15, 2010 15:53 UTC Source ·
Quote from: Laszlo Hanyecz on July 15, 2010, 2:57:20 PM UTC

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

./bitcoind: /lib/libc.so.6: version `GLIBC_2.8' not found (required by ./bitcoind)
Odin July 29, 2010 03:37 UTC Source ·
Quote from: satoshi on July 15, 2010, 2:33:04 PM UTC

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.