ความแตกต่างระหว่าง libcurl3 และ libcurl4 คืออะไร


11

ฉันตั้งค่าสภาพแวดล้อมการพัฒนา Ubuntu 14.04 และไปติดตั้ง libcurl แต่สังเกตว่ามีแคชรุ่นที่แตกต่างกันสองรุ่น อะไรคือความแตกต่างที่สำคัญระหว่างเวอร์ชั่นต่าง ๆ กับที่ผู้คนแนะนำสำหรับโครงการ Django?

ฉันสมมติว่า libcurl4 ใหม่กว่าและดีกว่า แต่ฉันกังวลว่ามันอาจเข้ากันได้กับผลิตภัณฑ์อื่น ๆ ทำตัวแปลก ๆ กับน้ำมันงูหรือทำให้ฉันปวดหัวในอนาคต

มี gotchas ขนาดใหญ่ที่ฉันควรระวังด้วย libcurl4 หรือไม่? ขอบคุณ

คำตอบ:


9

ถ้าคุณมองอย่างใกล้ชิดคุณจะเห็นว่าจริงเพียง-dbg, -devและ-docแพคเกจประกอบด้วยรุ่นที่ 4 ในชื่อแพคเกจของพวกเขาในขณะที่แพคเกจที่จัดส่งห้องสมุดรวบรวม libcurl จริงยังคงอยู่ใน 3 รุ่น

สำหรับการสนทนาเกี่ยวกับ Debian เกี่ยวกับเรื่องนี้โปรดดูที่ลิงก์นี้: https://lists.debian.org/debian-release/2007/04/msg00257.html

ถ้าฉันเข้าใจถูกต้องมีการเปลี่ยนแปลงใน API แต่ไม่ใช่ ABI ดังนั้นไบนารีแพคเกจจะถูกทิ้งไว้ที่เวอร์ชัน 3 ในขณะที่ไฟล์การพัฒนาจำเป็นต้องใช้เวอร์ชันชน

นอกจากนี้ยังหมายความว่าตัวอย่างเช่นlibcurl4-openssl-devเป็นแพ็คเกจการพัฒนาที่สอดคล้องกันlibcurl3แม้จะมีเวอร์ชันที่แตกต่างกันในชื่อแพคเกจ คุณจะเห็นว่าถ้าคุณดูlibcurl3-dev(ซึ่งเป็นแพคเกจเสมือนและชี้ไปที่libcurl4-openssl-dev:

No current or candidate version found for libcurl3-dev
Package: libcurl3-dev
State: not a real package
Provided by: libcurl4-openssl-dev (7.47.0-1ubuntu2), 
    libcurl4-openssl-dev (7.47.0-1ubuntu2.2)

ตัวอย่างด้านบนนี้ถ่ายใน Ubuntu 16.04 แต่สิ่งนี้อาจดูคล้ายกับ 14.04


4

คุณสามารถอ่านการเปลี่ยนแปลงของแพ็คเกจที่เกี่ยวข้องด้วยตนเองผ่าน:

for i in $(dpkg -l libcurl\* | grep libcurl  | awk '{print $2}'); do
  apt-get changelog $i >$i.changelog
done

จากนั้นอ่าน*.changelogไฟล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.