Điểm:0

Liên kết lỗi xây dựng OpenCV Contrib 4.5.4 với LibTiff4

lá cờ af

Kịch bản

Tôi đang gặp một số khó khăn khi xây dựng phiên bản mới nhất của cơ sở mã đóng góp của OpenCV từ nguồn, nhưng vấn đề có thể chỉ là do tôi thiếu chiều sâu chung chung hơn:

Tìm nạp thẻ 4.5.4 từ kho lưu trữ chính thức, tôi đang sử dụng hướng dẫn xây dựng phù hợp với hướng dẫn chính thức để xây dựng OpenCV với cơ sở mã đóng góp của nó từ đây, trong khi kể từ đó hiện tại OpenCV mới nhất yêu cầu libtiff phiên bản 4, tôi sử dụng cờ cmake được đề cập trong đó để tự xây dựng libtiff phiên bản 4 như một phần của bản dựng OpenCV - để bản dựng OpenCV sử dụng libtiff 4 chứ không phải tiêu đề và thư viện libtiff phiên bản 5 mặc định của Ubuntu 20.04.

Tuy nhiên, tại một thời điểm nhất định trong bản dựng OpenCV, có vẻ như một thư viện không tìm thấy các ký hiệu libtiff phiên bản 4, cụ thể là thư viện liblept:

/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFReadDirectory@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFGetFieldDefaulted@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFCleanup@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFIsTiled@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFReadRGBAImageOriented@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFOpen@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFSetSubDirectory@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFSetField@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFCurrentDirOffset@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFWriteScanline@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFPrintDirectory@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFGetField@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFScanlineSize@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFSetWarningHandler@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFSetErrorHandler@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFSetDirectory@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFReadScanline@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFClose@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFClientOpen@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/liblept.so.5: tham chiếu không xác định tới `TIFFGetVersion@LIBTIFF_4.0'

Tôi nhận được đầu ra sau cho thư viện này â

$ ldd /usr/lib/x86_64-linux-gnu/liblept.so.5
.
.
.
libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f40034c6000)

thực sự tôi đã cài đặt libtiff5:

$ danh sách apt libtiff*
libtiff-dev/focal-updates,focal-security,hiện là 4.1.0+git191117-2ubuntu0.20.04.2 AMD64 
libtiff-dev/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 i386
libtiff-doc/focal-updates,focal-updates,focal-security,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 tất cả
libtiff-opengl/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 AMD64
libtiff-opengl/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 i386
libtiff-tools/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 AMD64
libtiff-tools/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 i386
libtiff5-dev/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 AMD64
libtiff5-dev/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 i386
libtiff5/focal-updates,focal-security,hiện là 4.1.0+git191117-2ubuntu0.20.04.2 AMD64 [đã cài đặt]
libtiff5/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 i386
libtiffxx5/focal-updates,focal-security,hiện là 4.1.0+git191117-2ubuntu0.20.04.2 AMD64 [đã cài đặt, tự động]
libtiffxx5/focal-updates,focal-security 4.1.0+git191117-2ubuntu0.20.04.2 i386

Đang nhìn đây, tôi chỉ hơi bối rối với bảng hiển thị yêu cầu phiên bản của libtiff5 là 4.8.3.

Câu hỏi

Điều này có nghĩa là bản dựng trên hệ thống của tôi (theo như ldd lệnh có thể ngụ ý) cố gắng liên kết liblept5 với libtiff5, khi cố gắng giải quyết các ký hiệu libtiff4 đó? Hay nó đang tìm cách giải quyết chúng một cách linh hoạt và do đó không giải quyết được vì hệ thống của tôi không có sẵn libtiff4 trên toàn cầu cho trình liên kết?

Thông tin phiên bản khác

  • Ubuntu 20.04
  • Cmake 3.16.3
  • GNU Tạo 4.2.1
  • gcc 9.3.0
Điểm:0
lá cờ af

Sự cố này không tái tạo khi sử dụng OpenCV 4.2.0 cho Ubuntu 20.04. Vấn đề từ trên không xảy ra ở đó. Bạn cũng thường cần nhớ sử dụng â

sudo ldconfig

Sau khi cài đặt lib, nếu bạn muốn xây dựng dựa trên chúng.

Điều đó nói rằng, tôi tự hỏi liệu mệnh đề câu hỏi cuối cùng của câu hỏi của tôi có thể được giải quyết hay không, để thúc đẩy sự hiểu biết tốt hơn trong ngữ cảnh như ngữ cảnh được mô tả trong câu hỏi khi được hỏi.

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