Điểm:3

vấn đề liên kết động curl trong 21.10

lá cờ cn

Gần đây tôi đã nhận được Dell Precision 3450 với Ubuntu 20.04 và đã nâng cấp lên Ubuntu 21.10 theo hai bước (20.04 -> 21.04 -> 21.10). Điều này yêu cầu nâng cấp tập tin /usr/lib/os-phát hành bằng tay, như mô tả đây, có thể là do các tùy chỉnh của Dell đối với cài đặt OEM.

Trong mọi trường hợp, hệ thống hoạt động tốt ngay bây giờ, với một ngoại lệ. Khi tôi gõ Xoăn trong thiết bị đầu cuối (mà tôi đã cài đặt sau lần nâng cấp thứ hai), tôi nhận được thông báo lỗi sau.

curl: lỗi khi tải thư viện dùng chung: libldap_r-2.4.so.2: 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

Vì vậy, có vẻ như curl đang cố tải libldap trong phiên bản 2.4 chưa được cài đặt. Tôi đã hỏi một người bạn cũng có Ubuntu 21.10 và Xoăn hoạt động tốt với anh ta với các phiên bản tương tự Xoăn (7.74.0-1.3ubuntu2) và libldap (2.5.6+dfsg-1~exp1ubuntu1).

Tôi cũng đã thử cài đặt phiên bản cũ hơn của libldap -- cụ thể là tệp libldap-2.4-2_2.4.57+dfsg-2ubuntu1_AMD64.deb từ repo 21.04 -- nhưng sau khi làm điều đó, Xoăn cho tôi một thông báo lỗi mới:

curl: lỗi tra cứu biểu tượng: curl: biểu tượng không xác định: curl_multi_poll, phiên bản URL_OPENSSL_4

vì vậy điều đó không giúp ích gì.

Có ai biết chuyện gì đang xảy ra không?

Tôi không hiểu cách hoạt động của liên kết động và việc tìm kiếm trên Google không thực sự hữu ích. trang web này đề nghị chỉ đơn giản là làm sudo /sbin/ldconfig -v nhưng điều đó đã không làm việc.

Tôi không biết liệu vấn đề có phải là do cài đặt OEM của ubuntu và ugprade "bắt buộc" hay không, nhưng điều đáng ngạc nhiên là mọi thứ ngoại trừ Xoăn dường như để làm việc.

CHỈNH SỬA:

Đây là đầu ra của ldd $(gõ -p curl) trên hệ thống đâu Xoăn làm.

 linux-vdso.so.1 (0x00007ffe043f1000)
libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fc870cbb000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc870c9f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc870a77000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fc870a49000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fc870a28000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fc870a09000)
libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007fc87099a000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fc870986000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fc8708ee000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fc870613000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fc8705c1000)
libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007fc870562000)
liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007fc87054f000)
librotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fc870541000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc870db5000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fc8703bf000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc8701da000)
libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fc870192000)
libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fc87014a000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fc8700c7000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fc86fffe000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fc86ffd1000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fc86ffcb000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fc86ffbb000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fc86ffa0000)
librotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fc86ff7d000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fc86fe43000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fc86fe2d000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fc86fe24000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fc86fe0f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc86fe0a000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fc86fdfe000)

Và đây là đầu ra của ldd $(gõ -p curl) trên hệ thống đâu Xoăn không hoạt động.

linux-vdso.so.1 (0x00007fffa0f86000)
libcurl.so.4 => /usr/lib/dcaenabler/libcurl.so.4 (0x00007fc1b789f000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc1b7883000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc1b765b000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fc1b762d000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fc1b760c000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fc1b75ed000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fc1b75d7000)
libssl.so.1.1 => /usr/lib/dcaenabler/libssl.so.1.1 (0x00007fc1b734a000)
libcrypto.so.1.1 => /usr/lib/dcaenabler/libcrypto.so.1.1 (0x00007fc1b6e7f000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fc1b6e2d000)
libldap_r-2.4.so.2 => không tìm thấy
liblber-2.4.so.2 => không tìm thấy
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc1b6e26000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc1b7b74000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fc1b6ca4000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc1b6abf000)
libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fc1b6a77000)
libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fc1b6a31000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fc1b69ac000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc1b69a7000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fc1b68de000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fc1b68b1000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fc1b68ab000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fc1b689d000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fc1b6761000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fc1b674b000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fc1b6744000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fc1b672f000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fc1b6723000)

đầu ra của cuộn tròn nào trên hệ thống có vấn đề:

/usr/bin/cong

đầu ra của tìm kiếm năng khiếu ~o trên hệ thống có vấn đề:

i dca-enabler - Cung cấp phần mềm DELL Client Agent Enabler.                                                
i dca-enabler-packages - Cung cấp các Phụ thuộc Trình hỗ trợ Tác nhân Máy khách DELL.                                           
i dell-canonical-logo - Cài đặt dell-canonical-logo trong trung tâm điều khiển gnome.                                        
i dell-super-key - Tắt siêu khóa theo mặc định.                                                              
i djvu2pdf - Tập lệnh chuyển đổi tệp Djvu thành tệp PDF                                                       
tôi nắm tay - Kiểm tra hệ thống cài đặt tại nhà máy                                                                     
i A gir1.2-unity-5.0 - Dữ liệu nội quan GObject cho thư viện Unity                                                
i A linux-headers-5.10.0-1031-oem - Tiêu đề nhân Linux cho phiên bản 5.10.0 trên 64 bit x86 SMP                                       
i A linux-headers-5.10.0-1050-oem - Tiêu đề nhân Linux cho phiên bản 5.10.0 trên 64 bit x86 SMP                                       
i A linux-headers-oem-20.04b - Tiêu đề nhân OEM Linux                                                                        
i A linux-image-5.10.0-1031-oem - Hình ảnh hạt nhân đã ký OEM                                                                         
i A linux-image-5.10.0-1050-oem - Hình ảnh hạt nhân đã ký OEM                                                                         
i A linux-image-oem-20.04b - Hình ảnh hạt nhân OEM Linux                                                                          
i A linux-modules-5.10.0-1031-oem - Mô-đun bổ sung nhân Linux cho phiên bản 5.10.0 trên 64 bit x86 SMP                                 
i A linux-modules-5.10.0-1050-oem - Mô-đun bổ sung nhân Linux cho phiên bản 5.10.0 trên 64 bit x86 SMP                                 
i linux-oem-20.04b - Toàn bộ tiêu đề và hạt nhân OEM Linux                                                           
i A linux-oem-5.10-headers-5.10.0-1031 - Tệp tiêu đề liên quan đến nhân Linux phiên bản 5.10.0                                             
i A linux-oem-5.10-headers-5.10.0-1050 - Tệp tiêu đề liên quan đến nhân Linux phiên bản 5.10.0                                             
i A linux-oem-5.10-tools-5.10.0-1031 - Các công cụ dành riêng cho phiên bản nhân Linux dành cho phiên bản 5.10.0-1031                                     
i linux-tools-5.10.0-1031-oem - Công cụ dành riêng cho phiên bản nhân Linux dành cho phiên bản 5.10.0-1031                                     
i lsd - Một lệnh ls với nhiều màu sắc đẹp mắt.                                                      
tôi quản lý-phân phối-nâng cấp - Tắt nâng cấp cho OEM.                                                                        
i A quản lý-estar-settings - Cài đặt liên quan đến Energy Star                                                                    
i A oem-fix-misc-cnl-tlp-estar-conf - cấu hình tùy chỉnh cho tlp.                                                               
i oem-ouagadougou-meta - Gói meta cho hình ảnh chính của OEM.                                                     
i oem-release - Hiển thị phiên bản phát hành oem                                                                        
i oem-somerville-butterfree-meta - hỗ trợ phần cứng cho nền tảng Somerville Butterfree                                             
i oem-somerville-factory-butterfree-meta - hỗ trợ phần cứng cho nền tảng Somerville Butterfree (nhà máy)                                   
i oem-somerville-factory-meta - hỗ trợ phần cứng cho nền tảng Somerville                                                        
i oem-somerville-meta - hỗ trợ phần cứng cho nền tảng Somerville                                                        
i A oem-somerville-partner-archive-keyring - Dây móc khóa dự án Somerville                                                                     
i slack-desktop - Slack Desktop                                                                                   
i sosreport-oem - Các plugin và tiện ích sosreport liên quan đến hình ảnh OEM.                                             

tìm kiếm năng khiếu ~b đầu ra không có gì - không có gói bị hỏng.

Đây là đầu ra của cây /usr/local/:

/usr/cục bộ/
âââ thùng
âââ vv
âââ trò chơi
âââ bao gồm
âââ lib
â âââ python3.9
â  âââ dist-gói
âââ người đàn ông -> chia sẻ/người đàn ông
âââ sbin
âââ chia sẻ
â âââ ca-chứng chỉ
â  âââ phông chữ
â  âââ đàn ông
â âââ sgml
â  â  âââ khai báo
â â  âââ dtd
â  â  âââ thực thể
â  â  âââ linh tinh
â  â  âââ biểu định kiểu
â âââ texmf
â âââ xml
â  âââ tuyên bố
â  âââ thực thể
â  âââ linh tinh
â  âââ giản đồ
âââ src
âââ cất

đầu ra của dpkg -S /usr/lib/dcaenabler/libcurl.so.4 /usr/lib/dcaenabler/libssl.so.1.1 /usr/lib/dcaenabler/libcrypto.so.1.1:

dca-enabler-gói: /usr/lib/dcaenabler/libcurl.so.4
dca-enabler-gói: /usr/lib/dcaenabler/libssl.so.1.1
dca-enabler-gói: /usr/lib/dcaenabler/libcrypto.so.1.1

Rất có thể liên quan: Tôi chỉ quan sát các dòng lặp đi lặp lại của biểu mẫu

Ngày 10 tháng 11 năm 2021 15:36:59 j-dell env[10851] /usr/sbin/dcae: lỗi khi tải thư viện dùng chung: libldap_r-2.4.so.2: 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

Trong /var/log/syslog. nếu tôi chạy dca trên dòng lệnh tôi nhận được thông báo lỗi

dcae: lỗi khi tải thư viện dùng chung: libldap_r-2.4.so.2: 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

giống như với Xoăn.

user313032 avatar
lá cờ cn
@TBr: Ubuntu 21.10 đi kèm với libldap-2.5-0 không bao gồm tệp được đề cập (nhưng trên máy tính của bạn tôi, curl vẫn hoạt động). Đó là lý do tại sao tôi đã cài đặt libldap-2.4-2 từ ngày 21.04, bao gồm tệp (trong `/usr/lib/x86_64-linux-gnu/`). Với tệp hiện tại, tôi nhận được thông báo lỗi thứ hai. Tôi không hiểu đề nghị của bạn.
user313032 avatar
lá cờ cn
Cảm ơn! Xin lỗi tôi đã không rõ ràng về gói nào chứa tệp.
user313032 avatar
lá cờ cn
Điều đó đưa ra hai thông báo lỗi giống như tôi đã đăng, tùy thuộc vào việc `libldap-2.4-2` có được cài đặt hay không
waltinator avatar
lá cờ it
So sánh `ldd $(type -p curl)` trên cả hai hệ thống. Sử dụng `dpkg -S filename` (đọc `man dpkg`) để xem gói nào cung cấp `filename`.
user313032 avatar
lá cờ cn
@waltinator Tôi đã thêm đầu ra của các lệnh tương ứng vào câu hỏi của mình. Như tôi đã nói, trên hệ thống mà curl không hoạt động, nó đang cố tải phiên bản cũ hơn của libldap. Từ đầu ra, rõ ràng điều tương tự cũng xảy ra với liblber. Vì vậy, rõ ràng các phiên bản của thư viện không được mã hóa cứng trong tệp nhị phân? (Hai tệp nhị phân giống nhau, tôi đã đặt chúng khác nhau để đảm bảo).
user313032 avatar
lá cờ cn
Để tìm ra tệp đến từ gói nào, tôi thường sử dụng `apt-file search` thay vì `dpkg -S` vì tôi nghĩ cái sau chỉ tìm kiếm thông qua tệp của các gói đã cài đặt. Nhưng đối với `libldap_r-2.4.so.2`, cả hai lệnh tìm kiếm đều không thành công do tệp đến từ gói `libldap-2.4-2` không có trong Ubuntu 22.10.
user313032 avatar
lá cờ cn
Tương tự cho `liblber-2.4.so.2`.
N0rbert avatar
lá cờ zw
Đầu ra cho ` which curl` cũng cần thiết, nó có thể từ `/usr/local/bin` , do đó tự biên dịch.
user313032 avatar
lá cờ cn
@N0rbert: Tôi đã thêm nó ở trên, đó là /usr/bin/curl và không tự biên dịch. Tôi đã kiểm tra kỹ xem hai tệp nhị phân trên các hệ thống khác nhau có giống nhau không.
N0rbert avatar
lá cờ zw
Vẫn có thể cài đặt v2.4 bằng cách `wget http://archive.ubuntu.com/ubuntu/pool/main/o/openldap/libldap-2.4-2_2.4.57+dfsg-2ubuntu1_amd64.deb && sudo apt-get install --reinstall ./libldap-2.4-2_2.4.57+dfsg-2ubuntu1_amd64.deb` . Những điều kỳ lạ như vậy thường xảy ra khi một số gói cục bộ/lỗi thời tiếp tục được cài đặt trên hệ thống được nâng cấp. Vui lòng cài đặt Aptitude và tree bằng `sudo apt-get install tree aptitude` và thêm đầu ra từ hệ thống bị hỏng - `aptitude search ~o` với `tree /usr/local` vào câu hỏi (nếu dài - hãy sử dụng pastebin).
user313032 avatar
lá cờ cn
@N0rbert: Tôi đã thử cài đặt v2.4, dẫn đến một thông báo lỗi khác như đã giải thích ở trên. Tôi đã thêm đầu ra lệnh được yêu cầu vào câu hỏi. Cảm ơn bạn đã giúp đỡ!
N0rbert avatar
lá cờ zw
Tôi nghi ngờ rằng `dca-enabler` và có thể `dca-enabler-packages` là gốc rễ của vấn đề. Vui lòng chia sẻ đầu ra của `dpkg -S /usr/lib/dcaenabler/libcurl.so.4 /usr/lib/dcaenabler/libssl.so.1.1 /usr/lib/dcaenabler/libcrypto.so.1.1` . Bạn có định sử dụng phần mềm Dell này không?
user313032 avatar
lá cờ cn
Đã thêm thông tin được yêu cầu. Cũng quan sát thông tin liên quan trong /var/log/syslog, xem ở trên. Về câu hỏi cuối cùng của bạn: Tôi thực sự không biết công cụ dca làm gì. Tôi đã đặt hàng hệ thống được cài đặt sẵn ubuntu vì nó có vẻ dễ dàng hơn việc tự cài đặt và cũng rẻ hơn. Tôi cũng hy vọng có thể hỗ trợ phần cứng tốt hơn. Ngoài ra, tôi không quan tâm đến bất kỳ tính năng cụ thể nào của Dell.
user313032 avatar
lá cờ cn
@ N0rbert: bạn có đề nghị tôi gỡ cài đặt các gói dca không?
N0rbert avatar
lá cờ zw
Tôi khuyên bạn nên xóa các gói Dell này bằng cách sử dụng `Sudo apt-get purge --autoremove dca-enabler-packages dca-enabler` sau đó khởi động lại để kiểm tra các thay đổi.
user313032 avatar
lá cờ cn
@N0rbert: Việc xóa các gói đã giải quyết được sự cố! Cám ơn rất nhiều về sự giúp đỡ của bạn! Nếu bạn thêm một câu trả lời tôi sẽ chấp nhận nó.
Điểm:3
lá cờ zw

Phân tích ldd /usr/bin/curl đầu ra cho thấy các gói Dell gây ra sự cố này. Để khắc phục hệ thống chúng ta cần loại bỏ chúng bằng cách

Sudo apt-get purge --autoremove dca-enabler-packages dca-enabler

Lưu ý: công cụ phân tích đầu ra ldd được thảo luận trong hỏi đáp này. Nó đã giúp tôi rất nhiều để phát hiện vấn đề của bạn theo chương trình.

user313032 avatar
lá cờ cn
Cảm ơn! Nhìn nhận lại, khá rõ ràng về cách xác định các gói có vấn đề bằng cách so sánh các đầu ra ldd và quan sát, ví dụ: rằng các phiên bản khác nhau của `libcurl.so.4` được tải trên hai máy. Nhưng bản thân tôi đã không nhìn thấy nó cho đến khi bạn chỉ ra nó.

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