คำถามติดแท็ก libraries

ไลบรารีคือชุดของฟังก์ชันที่โปรแกรมสามารถใช้ได้ พวกเขาสามารถโหลดแบบไดนามิกโดยโปรแกรมหรือพวกเขาอาจจะรวบรวมในโปรแกรม

2
ฉันจะติดตามการโหลดห้องสมุดได้อย่างไร
ฉันมีโปรแกรมที่ขึ้นอยู่กับไลบรารีที่เชื่อมโยงกับ libboost 1.67 ซึ่งติดตั้งในระบบ เมื่อฉันเปิดใช้ฉันมีข้อผิดพลาดที่libboost_system.so.1.58ไม่มีอยู่ LD_PRELOADและLD_LIBRARY_PATHไม่มีการตั้งค่า lddtreeการดำเนินการไม่แสดงไลบรารีนี้เป็นการพึ่งพา แต่lddทำ ฉันจะติดตามจากที่ที่ต้องการไลบรารีได้อย่างไร
16 libraries 

1
วิธีการโน้มน้าวใจ dpkg ที่ libssl1.0.2 คือ> = libssl1.0.0?
ฉันกำลังพยายามติดตั้งแพ็คเกจ. deb ของบุคคลที่สามที่ฉันติดตั้งไว้ก่อนหน้านี้ใน Debian 8 แต่ฉันไม่สามารถติดตั้งในการตั้งค่า Debian 9 ใหม่ได้เนื่องจากฉันได้รับข้อผิดพลาดต่อไปนี้: dpkg: dependency problems prevent configuration of parity: parity depends on libssl1.0.0 (>= 1.0.0); however: Package libssl1.0.0 is not installed. ฉันไม่ได้มีการติดตั้ง libssl1.0.2 แต่ไม่ได้รับการยอมรับว่าเป็น "> = libssl1.0.0" ดังนั้นฉันจึงสงสัยว่าจะแก้ไขได้อย่างไร ฉันจะติดตั้ง libssl1.0.0 ด้วยตนเองหรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร ฉันจะเชื่อมโยงบางสิ่งบางอย่าง ถ้าเป็นเช่นนั้นอะไร อื่น ๆ อีก?

3
จะตรวจสอบว่ามีการติดตั้งไลบรารี่ที่แชร์ได้อย่างไร?
คำถามของฉันมาจากปัญหาของฉันในการเริ่ม ffmpeg ฉันติดตั้ง ffmpeg แล้วและมันจะแสดงขึ้นเมื่อติดตั้ง: whereis ffmpeg ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz ต่อมาฉันก็พบว่าบางโปรแกรมขึ้นอยู่กับไลบรารีที่ไม่ได้มาพร้อมกับการติดตั้งเองดังนั้นฉันจึงตรวจสอบด้วยคำสั่ง ldd ว่ามีอะไรหายไปบ้าง: # ldd /usr/bin/ffmpeg linux-vdso.so.1 => (0x00007fff71fe9000) libavfilter.so.0 => not found libpostproc.so.51 => not found libswscale.so.0 => not found libavdevice.so.52 => not found libavformat.so.52 => not found libavcodec.so.52 => not found libavutil.so.49 => not found libm.so.6 …

2
strace สำหรับการเรียกใช้ไลบรารี
ฉันรู้จัก strace ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับการดูการโทรของระบบ มีเทียบเท่าที่สามารถติดตามการโทรไปยังห้องสมุดภายนอกหรือไม่ ตัวอย่างเช่นฉันกำลังพยายามแก้ไขข้อผิดพลาดบางอย่างของ SSLeay ด้วยไบนารีของบุคคลที่สามที่ฉันไม่สามารถเข้าถึงรหัสได้ (และใครเป็นผู้พัฒนาที่ไม่ตอบสนอง) ฉันเชื่อว่าฉันถูกจับปัญหา แต่ฉันไม่สามารถทดสอบได้โดยไม่เห็นว่าข้อมูลที่ถูกตรวจสอบลายเซ็นถูกจัดรูปแบบสำหรับการส่งออกไปยัง SSLeay

7
สเตอริโอ“ tone-generator” สำหรับ linux?
มีเครื่องกำเนิดเสียงแบบสเตอริโอ (แยกซ้าย - ขวา - แชนแนล) สำหรับ Linux หรือไม่? ที่ซึ่งคุณสามารถตั้งค่าระดับเสียงและโทนเสียง / ระดับเสียงสำหรับแต่ละช่องและควรตั้งค่ารูปแบบคลื่น (ไซน์, สแควร์, ฟันเลื่อย, ... ) และกลับด้านหนึ่งช่องสัญญาณ (ตรงกันข้ามกับช่องอื่น) ถ้าไม่ความคิดใด ๆ สำหรับสถานที่ที่ดีที่จะเริ่มทำ ฉันเดาว่าวิธีที่ง่ายที่สุดคือการปรับโปรแกรมที่มีอยู่เช่น synths ... แต่ถ้ามันทำงานได้ไม่ดีมีห้องสมุดใด ๆ (เช่น SDL?) ที่สามารถใช้เป็นฐานสำหรับโปรแกรมดังกล่าวได้หรือไม่?
14 audio  libraries 

1
มีวิธีง่าย ๆ สำหรับการติดตั้งไบนารีสร้าง glibc หรือไม่?
ครั้งแล้วครั้งเล่าฉันเห็นคำถามเช่นนี้ GLIBCXX 3.4.15 บน Centos 6 CentOS 4.8 และ glibc 2.5 และนี่คือประเภทของโซลูชั่นที่เรามักจะผลักดัน: จะรันซอฟต์แวร์ใหม่โดยไม่อัพเดท GLIBC ได้อย่างไร? การติดตั้งสอง glibc พร้อมกับ debian / ubuntu GLIBCXX 3.4.15 บน Centos 6 นี่เป็นสิ่งที่ดีที่สุดที่เราสามารถทำได้หรือไม่? ไม่มีการสร้างไบนารีของ GLIBC ที่เราสามารถคลายซิปลงในไดเรกทอรีเช่น/opt/myglibcและตั้งค่า$LD_LIBRARY_PATHหรืออะไรก็ตามและเรียกใช้แอปพลิเคชันที่เราต้องการโดยไม่มีปัญหาหรือไม่ แอปพลิเคชันเช่นรุ่นใหม่ของ Chrome (28+) ที่ดูเหมือนจะต้องใช้ GLIBC 2.14 หรือไม่ หมายเหตุ:กระทู้นี้มีชื่อว่า: Google Chrome 29 เปิดตัว - ติดตั้งบน RHEL / CentOS 6 และ Fedora …
13 libraries  glibc 

1
gcc รู้ได้อย่างไรว่าติดตั้งบูสเตอร์ไว้ที่ใด
ฉันติดตั้งบูสต์บูสต์โดยใช้sudo apt-get installบน Ubuntu ต่อมาฉันไม่จำเป็นต้องให้ gcc Iธงพร้อมกับเส้นทางไปยังห้องสมุดเพิ่มเพื่อใช้เพิ่ม! ฉันไม่ทำอะไรpkg-config --cflags --libsเลย ความลึกลับที่นี่คืออะไร? gcc จะรู้ได้อย่างไรว่าบูสต์อยู่ที่ไหนและมันเชื่อมโยงกับมันอย่างไรโดยอัตโนมัติ?
13 gcc  libraries  boost 

2
ใช้ Atlas จาก scipy
ฉันติดตั้ง Ubuntu 12.04 64 บิต ฉันต้องการทำงานกับ python และ scipy ฉันติดตั้งพวกมันและเมื่อฉันทำการทดสอบ: python -c "import scipy; scipy.test()" ฉันได้รับข้อความ: ImportError: libatlas.so.3gf: ไม่สามารถเปิดไฟล์วัตถุที่ใช้ร่วมกัน: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว แต่ผมมีห้องสมุด libatlas /usr/lib/atlas-baseติดตั้งภายใต้ไดเรกทอรี ฉันรู้ว่าฉันสามารถคัดลอกไฟล์ได้โดยตรงภายใต้/usr/libแต่ฉันสงสัยว่าฉันสามารถตั้งค่า scipy เพื่อใช้งานไลบรารี่ได้usr/lib/atlas-baseอย่างไร?

6
อะไรคือความแตกต่างระหว่างการเรียกใช้ไลบรารีและการโทรของระบบใน Linux
ฉันอยากจะรู้ว่าอะไรคือความแตกต่างระหว่างการโทรในห้องสมุดและการโทรของระบบใน Linux พอยน์เตอร์ใด ๆ สำหรับความเข้าใจที่ดีของแนวคิดที่อยู่เบื้องหลังทั้งสองจะได้รับการชื่นชมอย่างมาก

2
วิธีส่งออก LD_LIBRARY_PATH ไปยังผู้ใช้และบริการระบบทั้งหมด
ฉันต้องการส่งออกLD_LIBRARY_PATHไปยังบริการระบบและผู้ใช้ทั้งหมด บริการของระบบจะทำงานก่อนเข้าสู่ระบบดังนั้นจึง.bashrcไม่สามารถใช้งานได้ ทำอย่างไรจึงจะได้สิ่งนี้?

1
ความสามารถในการพกพาของการปฏิบัติการไปยังเครื่อง Linux อื่น
ฉันติดตั้งโปรแกรม Motion บนเครื่อง Linux (M1) เครื่องหนึ่งและต้องการโปรแกรมเดียวกันบนอีกเครื่อง (M2) มีบิลด์ต่าง ๆ ของโปรแกรมนี้และฉันลืมไปว่าอันไหนที่ฉันเคยใช้ดังนั้นฉันจะทำสำเนาไฟล์ user / bin / motion ตรงจาก M1 และวางไว้ใน user / bin / motion ของ M2 ได้ไหม? ฉันรู้ว่าไฟล์กำหนดค่าอยู่ที่ไหนดังนั้นฉันจะข้ามไป แต่ฉันไม่แน่ใจว่าไดรเวอร์วิดีโอรุ่นใดที่ใช้งานการเคลื่อนไหวของ M2 ได้ มีวิธีการหาคำตอบไหม? มีวิธีที่ฉันสามารถค้นหาการอ้างอิงของมันได้หรือไม่

3
มีวิธีกำหนดแพ็คเกจหรือไลบรารีที่ควรโหลดเพื่อสนับสนุนการปฏิบัติการหรือไม่?
มีไฟล์ปฏิบัติการที่ฉันต้องการติดตั้งบนคอมพิวเตอร์ที่ฉันไม่สามารถคอมไพล์ใหม่ที่ไม่ได้สร้างเป็นแพ็คเกจได้และฉันต้องการดาวน์โหลดไลบรารี่ที่ต้องใช้ในการรัน ด้านล่างเป็นส่วนหนึ่งของผลลัพธ์จากการทำงานlddบนมัน libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb702f000) libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6f64000) libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6f43000) libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6e9e000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6cf4000) /lib/ld-linux.so.2 (0xb786e000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6cd3000) libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6b7c000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6b4f000) มีเครื่องมือที่สามารถใช้ข้อมูลนี้เพื่อเลือกแพคเกจที่ควรดาวน์โหลดหรือดีกว่า แต่แตกเฉพาะรายการไลบรารีและการอ้างอิงของพวกเขาเพื่อลดการใช้งานดิสก์? ระบบกำลังทำงานบนหัวขาด VM และโปรแกรมจะแสดงผลผ่าน VNC แม้ว่าฉันจะสงสัยว่าเดสก์ท็อปกราฟิกเต็มรูปแบบที่เป่าออกมานั้นจะจัดหาไลบรารีส่วนใหญ่ที่ฉันต้องการดาวน์โหลดเฉพาะไลบรารีที่จำเป็นเท่านั้นการพึ่งพาของพวกเขาและแพ็คเกจ X Windows เพียงพอที่จะรองรับ

4
ความแตกต่างระหว่างการเรียกระบบและฟังก์ชั่นห้องสมุด
ฉันเคยผ่านคำตอบของคำถามนี้แต่ไม่เข้าใจความแตกต่างระหว่างการโทรของระบบและฟังก์ชั่นห้องสมุด ตามหลักการแล้วอะไรคือความแตกต่างระหว่างทั้งสอง

2
ELF แชร์ไลบรารี - แรงจูงใจสำหรับ PLT
สามารถใช้รหัสการแก้ไขด้วยตนเองเพื่อเร่งความเร็วการเรียกฟังก์ชันในไลบรารีที่ลิงก์แบบไดนามิกหรือไม่ เท่าที่ฉันเข้าใจห้องสมุดที่ใช้ร่วมกันของ ELF ใช้ตารางกระโดดทางอ้อม (ตารางเชื่อมโยงโพรซีเดอร์หรือ PLT) เพื่อเปิดใช้งานฟังก์ชันไลบรารีผูกพัน ดูเหมือนว่ามีวัตถุประสงค์เพื่อหลีกเลี่ยงการแก้ไขตารางในส่วนรหัสในขณะที่ยังเปิดใช้งานการแก้ปัญหาตำแหน่งฟังก์ชันที่ขี้เกียจในการโทรครั้งแรก มันจะเร็วกว่าที่จะสร้างรหัสแบบไดนามิกสำหรับตารางนั้น ณ เวลาที่โหลดหรืออาจเป็นไปได้ที่การเรียกใช้ฟังก์ชันแรก มันคือการเปิดใช้งานการแบ่งปันส่วนรหัสระหว่างกระบวนการมากที่สุด (ตารางแบบไดนามิกจะเป็นส่วนตัวกับกระบวนการ)? เป็นเพราะเหตุผลด้านความปลอดภัย (โค้ดที่เขียนได้ไม่ควรเรียกใช้งานได้แต่ JIT ทำตลอดเวลาและสิทธิ์ในการเขียนสามารถเพิ่มและลบออกได้โดยตัวโหลดก่อนที่จะเริ่มโปรแกรมจริง ๆ ) หรือเป็นการรวมกันของสิ่งเหล่านี้และประสิทธิภาพที่เพิ่มขึ้นเล็กน้อยต่อการเรียกใช้ฟังก์ชันจะไม่คุ้มค่ากับความพยายาม?

4
ติดตั้งไฟล์การพัฒนาแบบโลคัลเพื่อสร้างบนระบบโดยไม่มีการเข้าถึงรูท?
มีเซิร์ฟเวอร์ที่ฉันทำงานอยู่ใช้งาน Linux เวอร์ชันที่เก่ากว่า ฉันไม่สามารถเข้าถึงระบบรูทได้ดังนั้นฉันจึงต้องการสร้างเครื่องมือเวอร์ชันที่ใหม่กว่าที่ฉันใช้บ่อยๆ (Vim 7.3) ฉันคิดว่าฉันจะสร้างและติดตั้งใน ~ / bin อย่างไรก็ตามมันต้องใช้ไฟล์การพัฒนาที่ไม่ได้ติดตั้งทั้งระบบ ฉันพบ ncurses-devel rpm และแตกโฟลเดอร์ 'lib' และ 'include' ฉันจะใส่ไว้ที่ไหนและฉันจะบอกสคริปต์. / config เพื่อค้นหาไฟล์เหล่านั้นได้อย่างไรเพื่อที่ฉันจะสามารถกำหนดค่าและสร้างแพ็คเกจได้อย่างถูกต้อง แก้ไข: ฉันสิ้นสุดการทำงานนี้โดยการติดตั้งระบบปฏิบัติการที่เหมือนกันใน Virtualbox และสร้างแพคเกจที่นั่นและคัดลอกเหนือไบนารี
11 libraries  centos 

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