web-dev-qa-db-fra.com

Erreur lors de l'exécution de make pour compiler Sage sur Ubuntu 16.04

Je tente de compiler Sage sur Ubuntu 16.04. J'ai téléchargé les fichiers binaires et installé un paquet. Je lance "make" dans mon répertoire Sage et voici ce que je reçois:

> [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.
> 

La compilation des packages suivants a peut-être échoué (pas nécessairement lors de cette exécution de 'make all'):

Le répertoire de construction peut contenir des fichiers de configuration et d’autres informations potentiellement utiles. ATTENTION: si vous lancez de nouveau 'make', le répertoire de construction sera supprimé par défaut. Définissez la variable d’environnement SAGE_KEEP_BUILT_SPKGS sur "yes" pour éviter cela.

Makefile: 16: la recette pour la cible 'tous' a échoué make: *** [all] Error 1

En suivant la suggestion du message d'erreur, j'ai modifié mes variables d'environnement comme suit (j'ai ajouté la deuxième ligne):

~/Bureau/SageMath $ cat/etc/environment PATH = "/ usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/jeux:/usr/local/games "export SAGE_KEEP_BUILT_SPKGS = yes

Ensuite, suite à une suggestion ici j'ai exécuté ce qui suit:

Sudo apt-get install libstdc ++ 6

Sudo add-apt-repository ppa: ubuntu-toolchain-r/test

Sudo apt-get update

Sudo apt-get upgrade

Quand je lance "make", j'obtiens toujours les erreurs suivantes:

> [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

Quelqu'un peut-il s'il vous plaît conseiller? Toutes les suggestions seraient grandement appréciées. Merci!

1
user584936
  1. Vérifiez que votre libstdc ++ actuel a GLIBCXX_3.4.21:

    strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.21
    
  2. Créez un lien symbolique comme suit:

    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