Điểm:1

Làm cách nào tôi có thể tạo mẫu hỗ trợ trình biên dịch C++ cho STLin để cài đặt hpctoolkit?

lá cờ cn

Tôi đang cố gắng cài đặt hpctoolkit sử dụng gói. Để làm điều đó, tôi đã thực hiện:

bản sao git https://github.com/spack/spack.git
cd spack/chia sẻ/spack
thiết lập nguồn-env.sh 
tìm nạp gói -D hpctoolkit
cài đặt spack hpctoolkit 

Tôi không thể thực thi lệnh cuối cùng vì tôi gặp phải lỗi sau:

Lỗi: ProcessError: Lệnh đã thoát với trạng thái 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=serialization,atomic,log,Exception,regex,math,random,program_options,wave,iostreams,chrono,system,test,graph,locale,timer,filesystem,date_time,thread' ' --không-icu'

Tôi khuyên bạn nên xem nhật ký xây dựng bằng cách hiển thị thông báo sau:

Xem nhật ký xây dựng để biết chi tiết:
  /tmp/hakim/spack-stage/spack-stage-boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq/spack-build-out.txt

và tập tin trước chứa:

Cần có trình biên dịch có khả năng C++ 11 để xây dựng công cụ B2.
Bộ công cụ 'gcc' dường như không hỗ trợ C++ 11.

> g++ -x c++ -std=c++11 check_cxx11.cpp
LỖI: Trình biên dịch '[email protected]' không hỗ trợ biên dịch các chương trình C++.

Để hiển thị trình biên dịch, tôi đã sử dụng lệnh:

danh sách trình biên dịch spack 

và kết quả là:

==> Trình biên dịch có sẵn
-- kêu vang ubuntu20.04-x86_64 -------------------------------------
[email protected] [email protected]

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

Để loại bỏ phiên bản '[email protected]', tôi đã sửa đổi trình biên dịch.yaml, đây là một tệp riêng biệt để lưu trữ thông tin về các trình biên dịch có sẵn.

Trong trường hợp của tôi, tôi đã làm:

cd ~/.spack/linux
trình biên dịch emacs.yaml & 

và đã tìm thấy (Tôi chỉ hiển thị phần liên quan đến trình biên dịch gcc):

trình biên dịch:
- trình biên dịch:
        thông số kỹ thuật: [email protected]
        con đường:
          cc: /usr/bin/gcc-7
          cxx: không
          f77: /usr/bin/gfortran-7
          fc: /usr/bin/gfortran-7
        cờ: {}
        hệ điều hành: ubuntu20.04
        mục tiêu: x86_64
        mô-đun: []
        môi trường: {}
        extra_rpaths: []

- trình biên dịch:
    thông số kỹ thuật: [email protected]
    con đường:
      cc: /usr/bin/gcc-9
      cxx: không
      f77: /usr/bin/gfortran-9
      fc: /usr/bin/gfortran-9
    cờ: {}
    hệ điều hành: ubuntu20.04
    mục tiêu: x86_64
    mô-đun: []
    môi trường: {}
    extra_rpaths: []

Để thoát khỏi [email protected], tôi chỉ cần xóa phần của nó. Bây giờ tôi xác minh danh sách các trình biên dịch và tôi sẽ tìm thấy:

-- kêu vang ubuntu20.04-x86_64 -------------------------------------
[email protected] [email protected]

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

Và bây giờ, khi tôi thực hiện lệnh:

cài đặt spack hpctoolkit 

lỗi là khác nhau. Tôi có :

=> Lỗi: CompilerAccessError: Trình biên dịch '[email protected]' có các tệp thực thi bị thiếu hoặc không thể thực thi được: ['/usr/bin/gfortran-7', '/usr/bin/gfortran-7']

/home/hakim/spack/lib/spack/spack/build_environment.py:937, trong _setup_pkg_and_run:
        934 tb_string = truy nguyên.format_exc()
        935
        936 # xây dựng một số ngữ cảnh từ gói vi phạm để chúng tôi có thể
  >> 937# cũng vậy.
        938 package_context = get_package_context(tb)
        939
        940 logfile = Không có


==> Lỗi: hpctoolkit-2021.05.15-jkofhcw73pap6ciacwcv2mtcv6uf3n2e: Gói chưa được cài đặt
==> Lỗi: Yêu cầu cài đặt không thành công. Tham khảo các lỗi được báo cáo đối với (các) gói bị lỗi.

Tôi nghĩ rằng trình biên dịch [email protected] đã được cài đặt sai vì anh ấy nói với tôi rằng nó có các tệp thực thi bị thiếu hoặc không thể thực thi được.

Tôi đã thử với [email protected], [email protected][email protected] nhưng vô ích .. (Tôi muốn đề cập rằng tất cả các trình biên dịch được cài đặt trong /usr/bin)

Bất kỳ giúp đỡ, xin vui lòng?

lá cờ hr
Vấn đề có lẽ **không phải** là bạn đã cài đặt sai `gcc`, mà là bạn chưa cài đặt **bất kỳ** `g++` nào (do đó có `cxx: null`)?
Knud Larsen avatar
lá cờ by
`sudo apt cài đặt g ++`
hakimo2 avatar
lá cờ cn
@steeldriver Cảm ơn!
Điểm:0
lá cờ cn

Để khắc phục lỗi này, bạn nên chính xác đường dẫn đến g++. Trong trường hợp của tôi, đây là nội dung cập nhật của tệp trình biên dịch.yaml của tôi:

trình biên dịch:
- trình biên dịch:
        thông số kỹ thuật: [email protected]
        con đường:
          cc: /usr/bin/gcc-7
          cxx: không
          f77: /usr/bin/gfortran-7
          fc: /usr/bin/gfortran-7
        cờ: {}
        hệ điều hành: ubuntu20.04
        mục tiêu: x86_64
        mô-đun: []
        môi trường: {}
        extra_rpaths: []

- trình biên dịch:
    thông số kỹ thuật: [email protected]
    con đường:
      cc: /usr/bin/gcc-9
      cxx: /usr/bin/g++-9
      f77: /usr/bin/gfortran-9
      fc: /usr/bin/gfortran-9
    cờ: {}
    hệ điều hành: ubuntu20.04
    mục tiêu: x86_64
    mô-đun: []
    môi trường: {}
    extra_rpaths: []

Bây giờ, nó sẽ hoạt động hoàn hảo.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.