更新 - libcrypto と GLIBCXX_3.4.11 の問題がある人向け Linux x64 バイナリ

9 件のメッセージ BitcoinTalk ラズロ・ハニエツ, dougztr, Ground Loop, サトシ・ナカモト, マルッティ・マルミ, Odin 2010年7月13日 — 2010年7月29日

これは主に Fedora で、サイトのトップページにあるバイナリがビルドされた時よりも新しい openssl を使っていて問題が発生している人向けだ。

これらを試すか、以下の手順を使って自分でコンパイルしてほしい:http://heliacal.net/~solar/bitcoin/bitcoin-linuxbuild.pdf

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

dougztr 2010年7月14日 05:02 UTC 原文 ·

自分の Gentoo システムではダメだった。以下のエラーが出る。

$ 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)

そして

$ 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)

このファイルは静的リンクされていない。Gentoo システムが不安定な状態で、ソースコードをビルドできるようにアップグレードするのに時間がかかるため、これを使おうとしただけだ。

とにかく、バグレポートとして送っておく

Ground Loop 2010年7月15日 01:05 UTC 原文 ·

そうだな、bitcoind を動かすためにこんなに苦労すべきではないだろうな。Fedora のバイナリを作ることを約束する人は、32 ビットと 64 ビットの両方を考慮してくれ。

C++ライブラリを静的リンクすることは可能だろうか? 可能だとして、許容される慣行なのか、それとも問題を引き起こすだろうか? プログラムにライブラリを同梱するのはどうだろう? 静的と言った時は OpenSSL のことだけを指していた 😊

glibcxx_3.4.11 のリンクは指定していないので、gcc が裏側で自動的にリンクしているのだろう。静的リンクを指示するコンパイラースイッチがおそらくあるはずだ。ライセンスの問題がどうなるかは不明だ。通常、コンパイラー関連のものは完全に再配布可能だ。

C++ ライブラリを静的リンクするように更新したんだ。GLIBCXX_ のバージョン問題を抱えている人、これを試して動くかどうか教えてくれないか?

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

これらのバイナリの ldd 出力はこんな感じだ:

$ 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)
ラズロ・ハニエツの投稿(2010年7月15日 14:57 UTC)

C++ ライブラリを静的リンクするように更新したんだ。GLIBCXX_ のバージョン問題を抱えている人、これを試して動くかどうか教えてくれないか?

こちらでは動きません。こう出ます:

./bitcoind: /lib/libc.so.6: version `GLIBC_2.8' not found (required by ./bitcoind)
Odin 2010年7月29日 03:37 UTC 原文 ·
サトシ・ナカモトの投稿(2010年7月15日 14:33 UTC)

glibcxx_3.4.11 のリンクは指定していないので、gcc が裏側で自動的にリンクしているのだろう。静的リンクを指示するコンパイラースイッチがおそらくあるはずだ。ライセンスの問題がどうなるかは不明だ。通常、コンパイラー関連のものは完全に再配布可能だ。

これはリードデベロッパーが使っているシステムがおそらく「ブリーディングエッジ」(非常に新しい、ごく最近の、最新版)だからだ。これは最も広い対象に再配布することを目指したものをビルドするのに使うべきシステムではない。

私のスレッド http://bitcointalk.org/index.php?topic=612.0 に挙げた改善案も見てみてくれ。

Windows と MacOS のバイナリのダウンロードは、それぞれのライブラリ(boost/wxWidgets の件)を含まずに配布されているのか? Linux 固有の部分、たとえば glibc や GCC ツールチェインは、ランタイム再配布コンポーネントについては LGPL を使用している。X11 ライブラリの部分は MIT だと思う。GTK+ は LGPL のはずだ。Freetype は LGPL(あるいは BSD 系)だ。Expat は LGPL。OpenSSL は BSD+Notice だ(クレジットからすでに承知のことだろうが)。

ldd bin/{32,64}/bitcoin のリストを見たところ、ほぼすべてカバーできていると思う。