Điểm:0

phụ thuộc thư viện chia sẻ đường dẫn sai

lá cờ in

Tôi đã xây dựng clazy với clang-12 nhưng trình tạo Qt báo lỗi:

Lệnh "/usr/local/clazy/bin/clazy-độc lập --version" kết thúc bằng mã thoát 127. /usr/local/clazy/bin/clazy-standalone: ​​lỗi khi tải thư viện dùng chung: libclang-cpp.so.12: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy

Tôi đã thêm đúng thư mục vào .bashrc:

  • xuất PATH=/usr/local/clang-12/bin:$PATH
  • xuất LD_LIBRARY_PATH=/usr/local/clang-12/lib:$LD_LIBRARY_PATH

Đây là bản in các phụ thuộc đối tượng được chia sẻ cho clazy-độc lập:

    linux-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)

Đây là bản in các phụ thuộc đối tượng được chia sẻ cho libclang-cpp.so.12:

    linux-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 không phải là một liên kết tượng trưng.

Một lần nữa nhận xét của @N0rbert không cung cấp giá trị nào. Tôi gặp các sự cố tương tự khác mà tôi nghi ngờ xuất phát từ loại sự cố này. Vì lý do nào đó, Linux không thể tìm hoặc sử dụng các tệp được cung cấp.

Tôi đã tìm thấy các bài đăng về sự cố với thư viện dùng chung từ năm 2005, vì vậy rõ ràng tôi không phải là người duy nhất.

Ai đó cuối cùng có thể đưa ra câu trả lời thích hợp về cách giải quyết loại vấn đề này không? Bằng cách đó, những người như tôi không phải dành hàng giờ để đọc các bài đăng không có câu trả lời. Hay đây là một "tính năng" của Linux?

N0rbert avatar
lá cờ zw
Điều gì đã xảy ra với https://packages.ubuntu.com/focal/clazy? Tại sao bạn lại đổ lỗi cho hệ điều hành trong khi bạn đã chơi với `/usr/local` ?
lá cờ hr
`/usr/local/gcc-11.1.0/lib64/libstdc++.so.6` là một tệp thực tế hay một liên kết tượng trưng? nếu cái sau, nó giải quyết ở đâu (ví dụ: `realpath /usr/local/gcc-11.1.0/lib64/libstdc++.so.6`)?
FROST SKIPPER avatar
lá cờ in
Câu hỏi đầu tiên là một câu hỏi được tải sẽ chỉ dẫn đến các tranh luận. Vì vậy, không có bình luận. Tôi đọc đó là đường dẫn được đề xuất để cài đặt các ứng dụng bổ sung. Nếu đó là sai, tuyệt vời. Những gì bạn có thể đã làm N0rbert, được đưa ra con đường chính xác hơn là chỉ troll. Trong trường hợp bạn không thể đọc giữa các dòng, tôi đã thực hiện việc này trên Windows và không gặp vấn đề gì. Trên Ubuntu, tất cả những gì tôi nhận được là một cơn đau đầu.
FROST SKIPPER avatar
lá cờ in
Rõ ràng đó là một liên kết tượng trưng và đường dẫn thực mang lại: . Tập tin đó tồn tại. Thực hiện --version trên đó, sẽ đưa ra "Lỗi phân đoạn (đổ lõi)". Tôi đoán điều đó có nghĩa là tôi gặp sự cố với cài đặt gcc-11. Không biết làm thế nào để tìm ra những gì sai với điều đó. Tôi không hiểu tại sao quá trình biên dịch gcc-11 lại thành công khi sản phẩm cuối cùng không hoạt động.
FROST SKIPPER avatar
lá cờ in
Tôi đã biên dịch clazy trên clang-12 và gặp sự cố tương tự. Lệnh "/usr/local/clazy/bin/clazy-độc lập --version" kết thúc bằng mã thoát 127. /usr/local/clazy/bin/clazy-standalone: ​​lỗi khi tải thư viện dùng chung: libclang-cpp.so.12: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy.
FROST SKIPPER avatar
lá cờ in
/usr/local/clang-12/lib/libclang-cpp.so.12 --version --> bash: /usr/local/clang-12/lib/libclang-cpp.so.12: Quyền bị từ chối
Điểm:0
lá cờ in

Vâng, được rồi. Vì vậy, tôi đã cho Linux một cơ hội và đây là một vấn đề cơ bản trong số nhiều vấn đề khác mà cộng đồng chưa khắc phục được.

Nếu bạn xây dựng chương trình, không gặp lỗi nhưng thư viện chia sẻ vẫn không hoạt động và bạn đã cài đặt tất cả các gói cần thiết. Có một giải pháp. Cài đặt Windows, nó thực sự hoạt động và bạn không cần phải lãng phí thời gian cho lý do buồn bã này của một hệ điều hành.

Đă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.