Điểm:0

thiếu libm.so.6 và libstdC++.so.6

lá cờ jp
A D

Tôi có một chương trình mà tôi đã biên soạn thông qua trình tạo qt và có vẻ như hoạt động tốt trên máy tính của tôi nhưng tôi đang cố chạy chương trình đó trên một cụm máy tính từ xa và nó đưa ra các thông báo lỗi này.

./programs/sampleapp: /lib64/libm.so.6: không tìm thấy phiên bản `GLIBC_2.29' (do ./programs/sampleapp yêu cầu)
./programs/sampleapp: /lib64/libstdc++.so.6: không tìm thấy phiên bản `GLIBCXX_3.4.26' (do ./programs/sampleapp yêu cầu)
./programs/sampleapp: /lib64/libstdc++.so.6: không tìm thấy phiên bản `GLIBCXX_3.4.21' (do ./programs/sampleapp yêu cầu)

Tôi đoán những phụ thuộc này bị thiếu? Tôi không biết tìm chúng ở đâu. Tìm kiếm chúng trên Google không dẫn tôi đến bất kỳ thứ gì hoạt động và tôi đã thử tìm kiếm trên máy tính của chính mình mà không gặp may.

guiverc avatar
lá cờ cn
Vui lòng tham khảo https://askubuntu.com/help/on-topic, Ubuntu và *flavors* chính thức của Ubuntu (https://ubuntu.com/download/flavours) nằm trong chủ đề trên trang web này. Liên kết theo chủ đề cung cấp các trang SE thay thế cho các hệ điều hành không phải Ubuntu. *Không có hệ thống theo chủ đề nào ở đây cung cấp phiên bản thư viện bắt buộc, vì vậy tôi cá là bạn không sử dụng hệ thống theo chủ đề*
lá cờ hr
AFAIK thông báo không có nghĩa là các thư viện * bị thiếu *, điều đó có nghĩa là chúng quá cũ - hoặc cụ thể hơn là chương trình được xây dựng dựa trên các phiên bản thư viện mới hơn hiện có trên hệ thống đích.
Knud Larsen avatar
lá cờ by
Giả sử cụm từ xa của bạn có glibc/libc6 phiên bản 2.27: Sau đó, bạn sẽ phải xây dựng ứng dụng của mình với "hệ điều hành libc6 - 2.27".... hoặc trên một hệ điều hành thậm chí còn cũ hơn. .... Ví dụ: Ubuntu 18.04 có libc6 - 2.27.
Điểm:1
lá cờ es

Bạn vừa khám phá ra lý do tại sao bạn cần xây dựng lại các ứng dụng cho các hương vị khác nhau hoặc thậm chí các phiên bản Linux. Một số có thể chạy trên một số bản phân phối khác, nhưng không có gì đảm bảo.

Nói chung, hãy xây dựng ứng dụng của bạn trên máy (hoặc ít nhất là trên máy có cùng bản phân phối) mà bạn muốn chạy ứng dụng đó. Hoặc, tốt hơn nữa, xây dựng phần mềm gói (.deb cho Ubuntu/Debian, .rpm cho SUSE/Red Hat/Fedora/CentOS) để tự động hóa quy trình và để đảm bảo rằng các phần phụ thuộc (chẳng hạn như các lib dùng chung) được xử lý tự động.

Không, đó không phải là điều dễ dàng thực hiện, nhưng đó là điều cần thiết.

A D avatar
lá cờ jp
A D
Được rồi, hệ thống của tôi dựa trên Ubuntu nhưng mục tiêu là CentOS 7. Vì vậy, tôi đoán rằng tôi sẽ thử viết một tệp thực hiện và xem liệu tôi có thể xây dựng nó trong đó với gcc hay không. và sau đó tôi có thể sẽ gây tranh cãi trong tương lai nếu tôi cần chạy cái này ở nhiều nơi.
HuHa avatar
lá cờ es
Vì bạn đã đề cập đến Qt trong các từ khóa của câu hỏi của mình, tốt hơn nên bắt đầu với QMake hoặc CMake. Makefiles được viết thủ công là quá khó khăn đối với sự phức tạp ngày nay, đặc biệt là khi nói đến những lib được chia sẻ mà bạn cần liên kết với dự án của mình và các tham số chính xác cho điều đó. Cả QMake và CMake đều làm điều đó cho bạn.
A D avatar
lá cờ jp
A D
Cuối cùng tôi đã chạy được nó sau khi xây dựng nó từ xa. Điều buồn cười là tôi đã chuyển các phiên bản trước của chương trình được xây dựng bằng QT cục bộ và chạy nó không có vấn đề gì trên cùng một cụm. Nhưng tôi chỉ lấy ra một vài tệp nguồn và đột nhiên nó không thể di động được nữa. Bây giờ tôi phải tìm ra lý do tại sao.

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