Gói libcairo2-dev
này là phiên bản mới nhất của thư viện đồ họa Cairo (1.10.2). Có cách nào để tôi có thể cài đặt phiên bản 1.8.10 không?
Tôi đang chạy 11.10, nhưng sẽ quan tâm đến một giải pháp chung nếu có thể.
Gói libcairo2-dev
này là phiên bản mới nhất của thư viện đồ họa Cairo (1.10.2). Có cách nào để tôi có thể cài đặt phiên bản 1.8.10 không?
Tôi đang chạy 11.10, nhưng sẽ quan tâm đến một giải pháp chung nếu có thể.
Câu trả lời:
Nếu bạn muốn thử nghiệm một phiên bản cũ của Cairo, bạn có thể xây dựng nó trong một tiền tố tạm thời trong thư mục nhà của bạn.
Trước hết, hãy chắc chắn rằng bạn đã cài đặt các phụ thuộc xây dựng của Cairo. Bạn có thể làm điều này với lệnh sau:
sudo apt-get build-dep cairo
Bây giờ tải xuống và giải nén phiên bản cũ của Cairo:
wget http://cairographics.org/releases/cairo-1.8.10.tar.gz
tar xzf cairo-1.8.10.tar.gz
cd cairo-1.8.10
Bây giờ bạn muốn xây dựng Cairo thành một tiền tố tạm thời. Tôi đã sử dụng ~/prefix
cho điều này một vài lần, nhưng bạn có thể sử dụng bất kỳ thư mục nào.
./configure --prefix=$HOME/prefix
make
make install
Bây giờ bạn cần làm cho phần mềm của riêng bạn sử dụng phiên bản Cairo này. Nếu phần mềm sử dụng pkg-config
để xác định vị trí phụ thuộc của nó, thì chỉ cần đặt biến môi trường sau:
export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig
Nếu nó không được sử dụng pkg-config
, bạn có thể cần điều chỉnh CFLAGS
để bao gồm -I$HOME/prefix/include
và LDFLAGS
bao gồm -L$HOME/prefix/lib
.
Cuối cùng, để chạy chương trình của bạn bằng phiên bản tùy chỉnh của Cairo, bạn sẽ cần định cấu hình trình liên kết động để nó tìm các thư viện dùng chung trong tiền tố tạm thời của bạn:
export LD_LIBRARY_PATH=$HOME/prefix/lib
Khi đã được đặt, bạn có thể xác minh rằng chương trình của bạn đang liên kết với bản sao Cairo của bạn bằng cách sử dụng ldd
. Nếu điều đó có vẻ ổn, bạn đã hoàn tất.
Dọn dẹp
Khi bạn đã hoàn tất cài đặt tạm thời này, việc dọn dẹp khá dễ dàng. Chỉ cần đặt lại các biến môi trường và loại bỏ tiền tố cài đặt tạm thời:
unset LD_LIBRARY_PATH
unset PKG_CONFIG_PATH
rm -rf $HOME/prefix
Bạn có thể cần phải cấu hình lại / xây dựng lại chương trình của mình sau khi thực hiện việc này để làm cho nó sử dụng lại hệ thống Cairo.