Score:1

ฉันจะสร้างเทมเพลตรองรับคอมไพเลอร์ C ++ สำหรับ STLin เพื่อติดตั้ง hpctoolkit ได้อย่างไร

ธง cn

ฉันกำลังพยายามติดตั้ง hpctoolkit โดยใช้ สเป็ค. ในการทำเช่นนั้นฉันดำเนินการ:

โคลนคอมไพล์ https://github.com/spack/spack.git
cd สแปม/แชร์/สเป็ก
ที่มา setup-env.sh 
สเป็กดึงข้อมูล -D hpctoolkit
สเป็กติดตั้ง hpctoolkit 

ฉันไม่สามารถดำเนินการคำสั่งสุดท้ายได้เนื่องจากฉันได้รับข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด: ProcessError: คำสั่งออกจากสถานะ 1:
    './bootstrap.sh' '--prefix=/home/hakim/spack/opt/spack/linux-ubuntu20.04-haswell/gcc-10.2.0/boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq' '--กับ- 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' ' --โดยไม่ต้องไอคิว'

แนะนำให้ฉันดูบันทึกการสร้างโดยแสดงข้อความต่อไปนี้:

ดูบันทึกการสร้างสำหรับรายละเอียด:
  /tmp/hakim/spack-stage/spack-stage-boost-1.76.0-oc2u6jxritfsbci4xkhr5lov3i4o4riq/spack-build-out.txt

และไฟล์ก่อนหน้าประกอบด้วย:

คอมไพเลอร์ที่มีความสามารถ C++11 จำเป็นสำหรับการสร้างเอ็นจิ้น B2
ชุดเครื่องมือ 'gcc' ไม่รองรับ C++11

> g++ -x c++ -std=c++11 check_cxx11.cpp
ข้อผิดพลาด: คอมไพเลอร์ '[email protected]' ไม่รองรับการคอมไพล์โปรแกรม C++

เพื่อแสดงคอมไพเลอร์ ฉันใช้คำสั่ง:

รายการคอมไพเลอร์ spack 

และผลลัพธ์คือ:

==> คอมไพเลอร์ที่มีอยู่
-- เสียงดังกราว ubuntu20.04-x86_64 -------------------------------------
[email protected] [email protected]

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

เพื่อกำจัดเวอร์ชัน '[email protected]' ฉันได้แก้ไข compilers.yaml ซึ่งเป็นไฟล์แยกต่างหากเพื่อเก็บข้อมูลเกี่ยวกับคอมไพเลอร์ที่มีอยู่

ในกรณีของฉัน ฉันได้:

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

และพบ (ฉันแสดงเฉพาะส่วนที่เกี่ยวข้องกับคอมไพเลอร์ gcc):

คอมไพเลอร์:
- คอมไพเลอร์:
        ข้อมูลจำเพาะ: [email protected]
        เส้นทาง:
          ซีซี: /usr/bin/gcc-7
          cxx: เป็นโมฆะ
          f77: /usr/bin/gfortran-7
          fc: /usr/bin/gfortran-7
        ค่าสถานะ: {}
        ระบบปฏิบัติการ: ubuntu20.04
        เป้าหมาย: x86_64
        โมดูล: []
        สิ่งแวดล้อม: {}
        extra_rpaths: []

- คอมไพเลอร์:
    ข้อมูลจำเพาะ: [email protected]
    เส้นทาง:
      ซีซี: /usr/bin/gcc-9
      cxx: เป็นโมฆะ
      f77: /usr/bin/gfortran-9
      fc: /usr/bin/gfortran-9
    ค่าสถานะ: {}
    ระบบปฏิบัติการ: ubuntu20.04
    เป้าหมาย: x86_64
    โมดูล: []
    สิ่งแวดล้อม: {}
    extra_rpaths: []

เพื่อที่จะกำจัด [email protected] ฉันเพิ่งลบส่วนหนึ่งของมันออกไป ตอนนี้ฉันตรวจสอบรายการคอมไพเลอร์แล้วและควรพบ:

-- เสียงดังกราว ubuntu20.04-x86_64 -------------------------------------
[email protected] [email protected]

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

และตอนนี้เมื่อฉันรันคำสั่ง:

สเป็กติดตั้ง hpctoolkit 

ข้อผิดพลาดจะแตกต่างกัน ฉันเข้าใจ :

=> ข้อผิดพลาด: CompilerAccessError: คอมไพเลอร์ '[email protected]' มีไฟล์ปฏิบัติการที่ขาดหายไปหรือไม่สามารถเรียกใช้งานได้: ['/usr/bin/gfortran-7', '/usr/bin/gfortran-7']

/home/hakim/spack/lib/spack/spack/build_environment.py:937 ใน _setup_pkg_and_run:
        934 tb_string = traceback.format_exc()
        935
        936 # สร้างบริบทบางอย่างจากแพ็คเกจที่ไม่เหมาะสมเพื่อให้เราสามารถทำได้
  >>937# แสดงว่าด้วยสินะ
        938 package_context = get_package_context(tb)
        939
        ไฟล์บันทึก 940 = ไม่มี


==> ข้อผิดพลาด: hpctoolkit-2021.05.15-jkofhcw73pap6ciacwcv2mtcv6uf3n2e: ไม่ได้ติดตั้งแพ็คเกจ
==> ข้อผิดพลาด: คำขอติดตั้งล้มเหลว อ้างอิงถึงข้อผิดพลาดที่รายงานสำหรับแพ็คเกจที่ล้มเหลว

ฉันคิดว่าคอมไพเลอร์ [email protected] ได้รับการติดตั้งอย่างไม่ถูกต้องเนื่องจากเขาบอกฉันว่ามีไฟล์ปฏิบัติการที่ขาดหายไปหรือไม่สามารถเรียกใช้งานได้

ฉันลองกับ [email protected], [email protected] และ [email protected] แต่ก็ไร้ประโยชน์ .. (ฉันอยากจะพูดถึงว่าคอมไพเลอร์ทั้งหมดได้รับการติดตั้งใน /usr/bin)

ความช่วยเหลือใด ๆ โปรด ?

hr flag
ปัญหาอาจ **ไม่ใช่** ว่าคุณใส่ `gcc` ผิด แต่คุณไม่ได้ติดตั้ง **any** `g++` ไว้เลย (ดังนั้น `cxx: null`)
Knud Larsen avatar
by flag
`sudo apt ติดตั้ง g++`
hakimo2 avatar
cn flag
@steeldriver ขอบคุณ !
Score:0
ธง cn

เพื่อแก้ไขข้อผิดพลาดนี้ คุณควรกำหนดเส้นทางไปยัง g++ ให้แม่นยำ ในกรณีของฉัน นี่คือเนื้อหาที่อัปเดตของไฟล์ compilers.yaml ของฉัน:

คอมไพเลอร์:
- คอมไพเลอร์:
        ข้อมูลจำเพาะ: [email protected]
        เส้นทาง:
          ซีซี: /usr/bin/gcc-7
          cxx: เป็นโมฆะ
          f77: /usr/bin/gfortran-7
          fc: /usr/bin/gfortran-7
        ค่าสถานะ: {}
        ระบบปฏิบัติการ: ubuntu20.04
        เป้าหมาย: x86_64
        โมดูล: []
        สิ่งแวดล้อม: {}
        extra_rpaths: []

- คอมไพเลอร์:
    ข้อมูลจำเพาะ: [email protected]
    เส้นทาง:
      ซีซี: /usr/bin/gcc-9
      cxx: /usr/bin/g++-9
      f77: /usr/bin/gfortran-9
      fc: /usr/bin/gfortran-9
    ค่าสถานะ: {}
    ระบบปฏิบัติการ: ubuntu20.04
    เป้าหมาย: x86_64
    โมดูล: []
    สิ่งแวดล้อม: {}
    extra_rpaths: []

ตอนนี้มันควรจะทำงานได้อย่างสมบูรณ์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา