web-dev-qa-db-ja.com

Ubuntu 16.04でmakeを実行してSageをビルドする際のエラー

Ubuntu 16.04でSageをコンパイルしようとしています。バイナリをダウンロードし、パッケージをインストールしました。 Sageディレクトリで「make」を実行すると、次のようになります。

> [maxima-5.35.1.p2] Now installing the Maxima library as
> '/home/davidk/Desktop/SageMath/local/lib/ecl//maxima.fas'...
> [maxima-5.35.1.p2]  [maxima-5.35.1.p2] real   5m8.176s
> [maxima-5.35.1.p2] user   4m31.916s [maxima-5.35.1.p2] sys    0m20.496s
> [maxima-5.35.1.p2] Successfully installed maxima-5.35.1.p2
> [maxima-5.35.1.p2] Deleting temporary build directory
> [maxima-5.35.1.p2]
> /home/davidk/Desktop/SageMath/local/var/tmp/sage/build/maxima-5.35.1.p2
> [maxima-5.35.1.p2] Finished installing maxima-5.35.1.p2.spkg cd ../..
> && sage-logger -p './sage --docbuild --no-pdf-links all html '
> logs/dochtml.log [dochtml]
> /home/davidk/Desktop/SageMath/local/bin/python:
> /home/davidk/Desktop/SageMath/local/lib/libstdc++.so.6: version
> `GLIBCXX_3.4.21' not found (required by
> /home/davidk/Desktop/SageMath/local/lib/libbrial.so.0);
> 'sage_setup.docbuild' is a package and cannot be directly executed
> Makefile:1023: recipe for target 'doc-html' failed make[2]: ***
> [doc-html] Error 1 make[2]: Leaving directory
> '/home/davidk/Desktop/SageMath/build/make' Makefile:846: recipe for
> target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving
> directory '/home/davidk/Desktop/SageMath/build/make'
> 
> real  110m50.466s user    102m18.460s sys 5m7.284s
> *************************************************************** Error building Sage.
> 

次のパッケージはビルドに失敗した可能性があります(「make all」の実行中に必ずしもそうではありません)。

ビルドディレクトリには、構成ファイルやその他の潜在的に役立つ情報が含まれている場合があります。警告:ここで「make」を再度実行すると、デフォルトでビルドディレクトリが削除されます。これを防ぐには、環境変数SAGE_KEEP_BUILT_SPKGSを「yes」に設定します。

Makefile:16:ターゲット 'all'のレシピはmakeに失敗しました:*** [all]エラー1

エラーメッセージの提案に従って、環境変数を次のように変更しました(2行目を追加しました)。

〜/ Desktop/SageMath $ cat/etc/environment PATH = "/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games "export SAGE_KEEP_BUILT_SPKGS = yes

次に、提案に従って here 私は次を実行しました:

Sudo apt-get install libstdc ++ 6

須藤add-apt-repository ppa:ubuntu-toolchain-r/test

須藤apt-getアップデート

須藤apt-getアップグレード

「make」を実行しても、まだ次のエラーが表示されます。

> [sagelib-7.3]  [sagelib-7.3] real 0m4.203s [sagelib-7.3] user 0m3.516s
> [sagelib-7.3] sys 0m0.460s cd ../.. && sage-logger -p './sage
> --docbuild --no-pdf-links all html ' logs/dochtml.log [dochtml] /home/davidk/Desktop/SageMath/local/bin/python:
> /home/davidk/Desktop/SageMath/local/lib/libstdc++.so.6: version
> `GLIBCXX_3.4.21' not found (required by
> /home/davidk/Desktop/SageMath/local/lib/libbrial.so.0);
> 'sage_setup.docbuild' is a package and cannot be directly executed
> Makefile:1023: recipe for target 'doc-html' failed make[2]: ***
> [doc-html] Error 1 make[2]: Leaving directory
> '/home/davidk/Desktop/SageMath/build/make' Makefile:846: recipe for
> target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving
> directory '/home/davidk/Desktop/SageMath/build/make'
> 
> real  0m6.692s user   0m5.536s sys    0m0.800s
> *************************************************************** Error building Sage.
> 
> The following package(s) may have failed to build (not necessarily
> during this run of 'make all'):
> 
> The build directory may contain configuration files and other
> potentially helpful information. WARNING: if you now run 'make' again,
> the build directory will, by default, be deleted. Set the environment
> variable SAGE_KEEP_BUILT_SPKGS to 'yes' to prevent this.
> 
> Makefile:16: recipe for target 'all' failed make: *** [all] Error 1

誰かアドバイスをお願いできますか?どんな提案も大歓迎です。ありがとう!

1
user584936
  1. 現在のlibstdc ++にGLIBCXX_3.4.21

    strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.21
    
  2. 次のようにシンボリックリンクを作成します。

    ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/davidk/Desktop/SageMath/local/lib/libstdc++.so.6
    
  3. make

2
user594461