|
diven
Newbie
Offline
Activity: 14
Merit: 0
|
|
July 13, 2010, 10:23:55 PM |
|
Thanks!
Works on Slackware64 13.1.
|
|
|
|
dougztr
Newbie
Offline
Activity: 5
Merit: 0
|
|
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
|
|
|
|
Ground Loop
Member
Offline
Activity: 111
Merit: 10
|
|
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.
|
Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
|
|
|
laszlo (OP)
|
|
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
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
satoshi
Founder
Sr. Member
Offline
Activity: 364
Merit: 7193
|
|
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.
|
|
|
|
|
laszlo (OP)
|
|
July 15, 2010, 03:00:26 PM |
|
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)
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
sirius
Bitcoiner
Sr. Member
Offline
Activity: 429
Merit: 1002
|
|
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 ./bitcoind: /lib/libc.so.6: version `GLIBC_2.8' not found (required by ./bitcoind)
|
|
|
|
Ground Loop
Member
Offline
Activity: 111
Merit: 10
|
|
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?
|
Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
|
|
|
laszlo (OP)
|
|
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.pdfAlso take a look at the wx-config usage in this makefile: http://heliacal.net/~solar/bitcoin/makefile.unix2
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
Ground Loop
Member
Offline
Activity: 111
Merit: 10
|
|
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.
|
Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
|
|
|
Ground Loop
Member
Offline
Activity: 111
Merit: 10
|
|
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?
|
Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
|
|
|
laszlo (OP)
|
|
July 15, 2010, 06:15:31 PM |
|
Berkeley DB
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
laszlo (OP)
|
|
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/$ 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)
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
Ground Loop
Member
Offline
Activity: 111
Merit: 10
|
|
July 15, 2010, 06:34:27 PM Last edit: July 15, 2010, 06:49:03 PM by Ground Loop |
|
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 "(" #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.)
|
Bitcoin accepted here: 1HrAmQk9EuH3Ak6ugsw3qi3g23DG6YUNPq
|
|
|
Odin
Newbie
Offline
Activity: 16
Merit: 0
|
|
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.0Do 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.
|
|
|
|
nimnul
|
|
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)
|
|
|
|
GoldRush
Newbie
Offline
Activity: 32
Merit: 0
|
|
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.
|
|
|
|
|
|