Score:0

การพึ่งพาห้องสมุดที่ใช้ร่วมกันผิดเส้นทาง

ธง in

ฉันสร้าง clazy ด้วย clang-12 แต่ผู้สร้าง Qt ให้ข้อผิดพลาด:

คำสั่ง "/usr/local/clazy/bin/clazy-standalone --version" สิ้นสุดด้วยรหัสออก 127 /usr/local/clazy/bin/clazy-standalone: ​​ข้อผิดพลาดขณะโหลดไลบรารีที่ใช้ร่วมกัน: libclang-cpp.so.12: ไม่สามารถเปิดไฟล์วัตถุที่ใช้ร่วมกัน: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว

ฉันได้เพิ่มไดเร็กทอรีที่ถูกต้องใน .bashrc:

  • ส่งออก PATH=/usr/local/clang-12/bin:$PATH
  • ส่งออก LD_LIBRARY_PATH=/usr/local/clang-12/lib:$LD_LIBRARY_PATH

นี่คือการพิมพ์ของการพึ่งพาวัตถุที่ใช้ร่วมกันสำหรับ clazy-standalone:

    ลินุกซ์ vdso.so.1 (0x00007ffd9ebe0000)
    ClazyPlugin.so => ​​/usr/local/clazy/lib/ClazyPlugin.so (0x00007f06c929d000)
    libclang-cpp.so.12 => /usr/local/clang-12/lib/libclang-cpp.so.12 (0x00007f06c4b2b000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f06c4b08000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f06c4b02000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f06c4adf000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f06c4990000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f06c4972000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f06c4942000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f06c4761000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f06c4746000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f06c4554000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f06c9437000)

นี่คือการพิมพ์ของการพึ่งพาวัตถุที่ใช้ร่วมกันสำหรับ libclang-cpp.so.12:

    ลินุกซ์ vdso.so.1 (0x00007ffee8df9000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbe393b1000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbe393a6000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbe393a0000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbe39251000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbe39235000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fbe39205000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbe39022000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbe39007000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbe38e15000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbe3db60000)

libcland-cpp.so.12 ไม่ใช่ symlink

ความคิดเห็นอีกครั้งโดย @ N0rbert ไม่ได้ให้คุณค่า ฉันมีปัญหาอื่นที่คล้ายกันซึ่งฉันสงสัยว่าเกิดจากปัญหาประเภทนี้ Linux ไม่สามารถค้นหาหรือใช้ไฟล์ที่กำหนดด้วยเหตุผลบางประการ

ฉันพบโพสต์ปัญหาเกี่ยวกับไลบรารีที่ใช้ร่วมกันตั้งแต่ปี 2005 เห็นได้ชัดว่าไม่ใช่ฉันคนเดียว

ในที่สุดใครบางคนสามารถให้คำตอบที่เหมาะสมเกี่ยวกับวิธีจัดการกับปัญหาประเภทนี้ได้หรือไม่? ด้วยวิธีนี้คนอย่างฉันไม่ต้องใช้เวลาหลายชั่วโมงในการอ่านโพสต์โดยไม่มีคำตอบ หรือนี่คือ "คุณสมบัติ" ของ Linux?

N0rbert avatar
zw flag
เกิดอะไรขึ้นกับ https://packages.ubuntu.com/focal/clazy ? ทำไมคุณถึงโทษ OS ในขณะที่คุณเล่นกับ `/usr/local` ?
hr flag
`/usr/local/gcc-11.1.0/lib64/libstdc++.so.6` เป็นไฟล์จริงหรือลิงก์สัญลักษณ์ ถ้าเป็นอย่างหลัง จะแก้ไขที่ไหน (เช่น `realpath /usr/local/gcc-11.1.0/lib64/libstdc++.so.6`)
FROST SKIPPER avatar
in flag
คำถามแรกเป็นคำถามที่โหลดซึ่งจะนำไปสู่การโต้แย้งเท่านั้น ดังนั้นไม่มีความคิดเห็น ฉันอ่านว่าเป็นเส้นทางที่แนะนำในการติดตั้งแอปเพิ่มเติม ถ้าผิดก็เยี่ยมเลย สิ่งที่คุณทำได้ N0rbert จะได้รับเส้นทางที่ถูกต้องแทนที่จะเป็นแค่การหมุนรอบ ในกรณีที่คุณอ่านระหว่างบรรทัดไม่ได้ ฉันทำสิ่งนี้บน Windows แล้วและไม่พบปัญหาใดๆ บน Ubuntu สิ่งที่ฉันได้รับคือปวดหัว
FROST SKIPPER avatar
in flag
เห็นได้ชัดว่ามันเป็น symlink และ realpath ให้: ไฟล์นั้นมีอยู่ การทำ --version นั้นให้ "การแบ่งส่วนผิดพลาด (ทิ้งคอร์)" ฉันเดาว่านั่นหมายความว่าฉันมีปัญหากับการติดตั้ง gcc-11 ไม่รู้จะไปคิดยังไงว่ามันผิดตรงไหน ฉันไม่เข้าใจว่าทำไมการรวบรวม gcc-11 จึงประสบความสำเร็จเมื่อผลิตภัณฑ์สุดท้ายไม่ทำงาน
FROST SKIPPER avatar
in flag
ฉันรวบรวม clazy บน clang-12 และพบปัญหาที่คล้ายกัน คำสั่ง "/usr/local/clazy/bin/clazy-standalone --version" สิ้นสุดด้วยรหัสออก 127 /usr/local/clazy/bin/clazy-standalone: ​​เกิดข้อผิดพลาดขณะโหลดไลบรารี่ที่ใช้ร่วมกัน: libclang-cpp.so.12: ไม่สามารถเปิดไฟล์ออบเจ็กต์ที่ใช้ร่วมกัน: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
FROST SKIPPER avatar
in flag
/usr/local/clang-12/lib/libclang-cpp.so.12 --version --> bash: /usr/local/clang-12/lib/libclang-cpp.so.12: ปฏิเสธการอนุญาต
Score:0
ธง in

ใช่ โอเค ดังนั้นฉันจึงให้โอกาสกับ Linux และนี่เป็นปัญหาพื้นฐานท่ามกลางปัญหาอื่นๆ ที่ชุมชนยังไม่ได้แก้ไข

หากคุณสร้างโปรแกรม อย่าได้รับข้อผิดพลาด แต่ไลบรารีที่ใช้ร่วมกันยังคงใช้งานไม่ได้ และคุณได้ติดตั้งแพ็คเกจที่จำเป็นทั้งหมดแล้ว มีวิธีแก้ไข ติดตั้ง Windows ใช้งานได้จริงและคุณไม่ต้องเสียเวลากับข้อแก้ตัวที่น่าเศร้าของระบบปฏิบัติการนี้

โพสต์คำตอบ

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