ฉันจะติดตั้งแพ็คเกจ -dev รุ่นเดียวกันทั้ง 32 และ 64 บิตได้อย่างไร


11

ฉันกำลังพยายามติดตั้งlibsqlite3-devสำหรับทั้งสองi386และamd64บนเครื่อง Ubuntu 12.04 เดียวกัน ฉันกำลังพัฒนาแอพพลิเคชั่นที่ใช้ sqlite3 และต้องการคอมไพล์และทดสอบทั้งเวอร์ชัน 32 บิตและ 64 บิต

อย่างไรก็ตามดูเหมือนว่าlibsqlite3-dev:i386แพคเกจจะไม่เข้ากันกับlibsqlite3-dev:amd64เนื่องจากaptต้องการลบหนึ่งเมื่อฉันติดตั้งอื่น ๆ

มีวิธีติดตั้งทั้งสองอย่างในระบบเดียวกันหรือไม่?

คำตอบ:


5

คุณไม่สามารถติดตั้งแพ็กเกจ -dev ทั้งสองในระบบเดียวกันในเวลาเดียวกัน คุณสามารถติดตั้งได้เพียงไฟล์เดียวเนื่องจากไฟล์ดังกล่าวมีไฟล์เดียวกันบางไฟล์ Multi-arch ไม่รองรับการรวบรวมข้ามซึ่งเป็นสิ่งที่คุณพยายามทำ หากคุณต้องติดตั้ง:i386แพคเกจการพัฒนา sqlite และสร้างด้วยคอมไพเลอร์ 64 บิตคุณจะมีผลประกอบการที่ไม่แน่นอน

ทางออกที่ดีที่สุดของคุณคือการคอมไพล์ใน chroot หรือ VM แบบ 32 บิตเพื่อสร้างเวอร์ชัน 32 บิต


ไฟล์ส่วนหัวมีอยู่ในทั้งสองแพ็คเกจ แต่เนื้อหาเหมือนกัน มากยิ่งขึ้นอื่น ๆ-devแพคเกจเช่นzlib1gซึ่งยังได้ร่วมกัน (และเหมือนกัน) ไฟล์มันเป็นไปได้ที่จะติดตั้งรุ่นทั้งสองพร้อมกัน
Wim

1
ฉันเพิ่งติดตั้งแพคเกจทั้งสองนี้ดูเหมือนจะไม่ทำลายอะไรเลยและตอนนี้ฉันสามารถสร้าง (และทำงานอย่างถูกต้อง) ทั้งสองเวอร์ชัน นี่เป็นเพียงกรณีของผู้ดูแลแพคเกจที่ประกาศความขัดแย้งที่ไม่มีจริงหรือ
Wim

0

โดยส่วนตัวฉันไม่ได้พิจารณาการติดตั้งแบบบังคับแม้จะเป็นทางเลือกสุดท้าย ฉันคิดว่าคุณอาจพบว่าผู้สร้างมีประโยชน์มาก นี่คือ HOWTO สำหรับสิ่งนั้น คุณสามารถติดตั้ง distros ที่แตกต่างกันสำหรับวัตถุประสงค์นั้นและสคริปต์กระบวนการสร้างสำหรับเป้าหมายที่แตกต่างกันในเวลาเดียวกัน

http://ubuntuforums.org/showthread.php?t=206382

ดังนั้นคุณสามารถถอนการติดตั้งแพ็คเกจ dev ทั้งหมดได้ พวกเขาได้รับการติดตั้งในการติดตั้ง chroot ชั่วคราว

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