Puncte:1

Cum pot face șablonul de suport al compilatorului C++ pentru STLin pentru a instala hpctoolkit?

drapel cn

Incerc sa instalez hpctoolkit folosind Spack. Pentru a face asta, am executat:

git clone https://github.com/spack/spack.git
cd pack/share/pack
sursă setup-env.sh 
spack fetch -D hpctoolkit
spack install hpctoolkit 

Nu pot executa ultima comandă deoarece primesc următoarea eroare:

Eroare: ProcessError: Comandă ieșită cu starea 1:
    „./bootstrap.sh” „--prefix=/home/hakim/spack/opt/spack/linux-ubuntu20.04-haswell/gcc-10.2.0/boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq” „--with- toolset=gcc' '--with-libraries=serializare,atomice,jurnal,excepție,regex,matematică,aleatorie,opțiuni_program,wave,iostreams,crono,sistem,test,grafic,locale,cronometru,sistem de fișiere,date_ora,thread' ' --fara-icu'

Mi-a recomandat să arunc o privire la jurnalul de construcție afișând următorul mesaj:

Consultați jurnalul de construcție pentru detalii:
  /tmp/hakim/spack-stage/spack-stage-boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq/spack-build-out.txt

iar fișierul anterior conține:

Pentru construirea motorului B2 este necesar un compilator compatibil C++11.
Setul de instrumente „gcc” nu pare să accepte C++11.

> g++ -x c++ -std=c++11 check_cxx11.cpp
EROARE: compilatorul „[email protected]” nu acceptă compilarea programelor C++.

Pentru a afișa compilatoarele, am folosit comanda:

lista compilatorului spack 

iar rezultatul este:

==> Compilatoare disponibile
-- clang ubuntu20.04-x86_64 -------------------------------------
[email protected] [email protected]

-- gcc ubuntu20.04-x86_64 ---------------------------------------
[email protected] [email protected]

Pentru a scăpa de versiunea „[email protected]”, am modificat compilers.yaml, care este un fișier separat pentru a stoca informații despre compilatoarele disponibile.

In cazul meu, am facut:

cd ~/.spack/linux
emacs compilers.yaml & 

și am găsit (afișez doar partea legată de compilatorul gcc):

compilatoare:
- compilator:
        spec: [email protected]
        trasee:
          cc: /usr/bin/gcc-7
          cxx: nul
          f77: /usr/bin/gfortran-7
          fc: /usr/bin/gfortran-7
        steaguri: {}
        sistem_de_operare: ubuntu20.04
        țintă: x86_64
        module: []
        mediu inconjurator: {}
        extra_rpaths: []

- compilator:
    spec: [email protected]
    trasee:
      cc: /usr/bin/gcc-9
      cxx: nul
      f77: /usr/bin/gfortran-9
      fc: /usr/bin/gfortran-9
    steaguri: {}
    sistem_de_operare: ubuntu20.04
    țintă: x86_64
    module: []
    mediu inconjurator: {}
    extra_rpaths: []

Pentru a scăpa de [email protected], tocmai i-am șters partea. Verific acum lista de compilatoare și ar trebui să găsesc:

-- clang ubuntu20.04-x86_64 -------------------------------------
[email protected] [email protected]

-- gcc ubuntu20.04-x86_64 ---------------------------------------
[email protected]

Și acum, când execut comanda:

spack install hpctoolkit 

eroarea este diferita. Eu iau :

=> Eroare: CompilerAccessError: compilatorul „[email protected]” are executabile care lipsesc sau nu sunt executabile: ['/usr/bin/gfortran-7', '/usr/bin/gfortran-7']

/home/hakim/spack/lib/spack/spack/build_environment.py:937, în _setup_pkg_and_run:
        934 tb_string = traceback.format_exc()
        935
        936 # construiți un context din pachetul ofensator, astfel încât să putem
  >> 937 # arată și asta.
        938 package_context = get_package_context(tb)
        939
        940 fișier jurnal = Nici unul


==> Eroare: hpctoolkit-2021.05.15-jkofhcw73pap6ciacwcv2mtcv6uf3n2e: Pachetul nu a fost instalat
==> Eroare: Solicitarea de instalare a eșuat. Consultați erorile raportate pentru pachetele eșuate.

Cred că compilatorul [email protected] a fost instalat greșit, deoarece îmi spune că are executabile care lipsesc sau nu sunt executabile.

Am incercat cu [email protected], [email protected] si [email protected] dar degeaba .. (Vreau sa mentionez ca toate compilatoarele sunt instalate in /usr/bin)

Ajutor, va rog?

drapel hr
Problema este poate **nu** că aveți `gcc` greșit, dar că nu aveți instalat **niciun** `g++` (de unde `cxx: null`)?
Knud Larsen avatar
drapel by
`sudo apt install g++`
hakimo2 avatar
drapel cn
@steeldriver Mulțumesc!
Puncte:0
drapel cn

Pentru a remedia această eroare, ar trebui să precizați calea către g++. În cazul meu, iată conținutul actualizat al fișierului meu compilers.yaml:

compilatoare:
- compilator:
        spec: [email protected]
        trasee:
          cc: /usr/bin/gcc-7
          cxx: nul
          f77: /usr/bin/gfortran-7
          fc: /usr/bin/gfortran-7
        steaguri: {}
        sistem_de_operare: ubuntu20.04
        țintă: x86_64
        module: []
        mediu inconjurator: {}
        extra_rpaths: []

- compilator:
    spec: [email protected]
    trasee:
      cc: /usr/bin/gcc-9
      cxx: /usr/bin/g++-9
      f77: /usr/bin/gfortran-9
      fc: /usr/bin/gfortran-9
    steaguri: {}
    sistem_de_operare: ubuntu20.04
    țintă: x86_64
    module: []
    mediu inconjurator: {}
    extra_rpaths: []

Acum, ar trebui să funcționeze perfect.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.