เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

6.24.1. การติดตั้ง Ncurses

อย่าติดตั้งไลบรารีสแตติกที่ไม่ได้รับการจัดการโดยการกำหนดค่า:


sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in

sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in

เตรียม Ncurses สำหรับการรวบรวม:


./configure --prefix=/usr \

--mandir=/usr/share/man \

--กับที่ใช้ร่วมกัน \

--โดยไม่ต้องดีบัก\

-- โดยไม่มีปกติ \

--enable-pc-ไฟล์ \

--enable-กว้าง

./configure --prefix=/usr \

--mandir=/usr/share/man \

--กับที่ใช้ร่วมกัน \

--โดยไม่ต้องดีบัก\

-- โดยไม่มีปกติ \

--enable-pc-ไฟล์ \

--enable-กว้าง

ความหมายของตัวเลือกการกำหนดค่าใหม่:

--enable-กว้าง

สวิตช์นี้ทำให้เกิดไลบรารีที่มีอักขระกว้าง (เช่น libncursesw.so.6.1) ให้สร้างแทนแบบธรรมดา (เช่น libncurses.so.6.1). ไลบรารีที่มีอักขระแบบกว้างเหล่านี้สามารถใช้ได้ทั้งในแบบหลายไบต์และแบบ 8 บิตแบบดั้งเดิม ในขณะที่ไลบรารีปกติทำงานอย่างถูกต้องเฉพาะในโลแคล 8 บิตเท่านั้น ไลบรารีที่มีอักขระแบบกว้างและแบบปกติสามารถทำงานร่วมกับซอร์สได้ แต่ไม่รองรับไบนารี

--enable-pc-files

สวิตช์นี้สร้างและติดตั้งไฟล์ .pc สำหรับ pkg-config

--ไม่ปกติ

สวิตช์นี้ปิดใช้งานการสร้างและติดตั้งไลบรารีแบบสแตติกส่วนใหญ่

รวบรวมแพ็คเกจ:


ทำ

ทำ

แพ็คเกจนี้มีชุดทดสอบ แต่สามารถเรียกใช้ได้หลังจากติดตั้งแพ็คเกจแล้วเท่านั้น การทดสอบอยู่ใน ทดสอบ/

ไดเร็กทอรี ดู README ไฟล์ในไดเร็กทอรีนั้นสำหรับรายละเอียดเพิ่มเติม ติดตั้งแพ็คเกจ:


ให้ติดตั้ง

ให้ติดตั้ง

ย้ายไลบรารีที่แชร์ไปที่ / lib ไดเร็กทอรีที่พวกเขาคาดว่าจะอยู่:


mv -v /usr/lib/libncursesw.so.6* /lib

mv -v /usr/lib/libncursesw.so.6* /lib

เนื่องจากไลบรารีถูกย้ายแล้ว ลิงก์หนึ่งลิงก์ชี้ไปที่ไฟล์ที่ไม่มีอยู่จริง สร้างใหม่:


ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so

ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so


ภาพ

>

>

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


สำหรับ lib ในแผงแบบฟอร์ม ncurses rm -vf

เสียงสะท้อน "INPUT(-l${lib}w)" ln -sfv ${lib}w.pc

ทำ

เมนู ; ทำ

/usr/lib/lib${lib}.so

/usr/lib/lib${lib}.so

/usr/lib/pkgconfig/${lib}.pc

สำหรับ lib ในแผงแบบฟอร์ม ncurses rm -vf

เสียงสะท้อน "INPUT(-l${lib}w)" ln -sfv ${lib}w.pc

ทำ

สุดท้ายตรวจสอบให้แน่ใจว่าแอปพลิเคชั่นเก่าที่มองหา -lcurses ณ เวลาสร้างยังคงสร้างได้:


rm -vf /usr/lib/libcursesw.so echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so

rm -vf /usr/lib/libcursesw.so echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so


ภาพ

ภาพ

หากต้องการ ให้ติดตั้งเอกสาร Ncurses:


mkdir -v

/usr/share/doc/ncurses-6.1

mkdir -v


cp -v -R doc/* /usr/share/doc/ncurses-6.1

cp -v -R doc/* /usr/share/doc/ncurses-6.1


หมายเหตุ

คำแนะนำข้างต้นไม่สร้างไลบรารี Ncurses ที่ไม่ใช่อักขระแบบกว้าง เนื่องจากไม่มีแพ็กเกจที่ติดตั้งโดยการรวบรวมจากแหล่งที่มาจะลิงก์กับไลบรารี Ncurses ในขณะรันไทม์ อย่างไรก็ตาม แอปพลิเคชันไบนารีเท่านั้นที่รู้จักซึ่งเชื่อมโยงกับไลบรารี Ncurses ที่ไม่ใช่อักขระแบบกว้างต้องมีเวอร์ชัน 5 หากคุณต้องมีไลบรารีดังกล่าวเนื่องจากแอปพลิเคชันไบนารีเท่านั้นบางตัวหรือเพื่อให้สอดคล้องกับ LSB ให้สร้างแพ็กเกจอีกครั้งโดยมีข้อมูลต่อไปนี้ คำสั่ง:

หมายเหตุ

คำแนะนำข้างต้นไม่สร้างไลบรารี Ncurses ที่ไม่ใช่อักขระแบบกว้าง เนื่องจากไม่มีแพ็กเกจที่ติดตั้งโดยการรวบรวมจากแหล่งที่มาจะลิงก์กับไลบรารี Ncurses ในขณะรันไทม์ อย่างไรก็ตาม แอปพลิเคชันไบนารีเท่านั้นที่รู้จักซึ่งเชื่อมโยงกับไลบรารี Ncurses ที่ไม่ใช่อักขระแบบกว้างต้องมีเวอร์ชัน 5 หากคุณต้องมีไลบรารีดังกล่าวเนื่องจากแอปพลิเคชันไบนารีเท่านั้นบางตัวหรือเพื่อให้สอดคล้องกับ LSB ให้สร้างแพ็กเกจอีกครั้งโดยมีข้อมูลต่อไปนี้ คำสั่ง:


ทำให้ distclean

./configure --prefix=/usr \

--กับที่ใช้ร่วมกัน \

-- โดยไม่มีปกติ \

--โดยไม่ต้องดีบัก\

--ไม่มี cxx-ผูกพัน \

--with-abi-version=5 สร้างแหล่งที่มา libs

cp -av lib/lib*.so.5* /usr/lib

ทำให้ distclean

./configure --prefix=/usr \

--กับที่ใช้ร่วมกัน \

-- โดยไม่มีปกติ \

--โดยไม่ต้องดีบัก\

--ไม่มี cxx-ผูกพัน \

--with-abi-version=5 สร้างแหล่งที่มา libs

cp -av lib/lib*.so.5* /usr/lib

ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: