Cara menginstal Kairo 1.8.10

12

Paket libcairo2-devini adalah versi terbaru dari perpustakaan grafis Kairo (1.10.2). Apakah ada cara saya dapat menginstal versi 1.8.10?

Saya menjalankan 11,10, tetapi akan tertarik pada solusi umum jika memungkinkan.

Daniel Standage
sumber
Bisakah Anda menjelaskan mengapa Anda ingin menginstal versi yang lebih lama? Menginstal lebar versi sistem yang lebih lama mungkin bukan suatu kemungkinan (beberapa program mungkin bergantung pada fitur rilis yang lebih baru), tetapi jika Anda memiliki persyaratan yang lebih sempit untuk versi yang lebih lama maka solusinya mungkin dilakukan.
James Henstridge
Saya pribadi tahu sedikit tentang Kairo, tetapi saya telah menulis sebuah program yang menghubungkan ke perpustakaan yang pada gilirannya menggunakan Kairo untuk menghasilkan grafik. Saya melakukan sebagian besar pengembangan asli pada Mac saya, yang pemasangan Kairo hanya tersedia melalui sesuatu seperti Fink (yang hanya memiliki v1.8.10) ...
Daniel Standage
... Program ini juga menggunakan OpenMP, dan salah satu yang diparalelkan untuk loop termasuk panggilan ke fungsi perpustakaan Kairo. Program ini bekerja di Ubuntu ketika saya menjalankannya pada satu prosesor, dan bekerja pada Mac untuk sejumlah prosesor. Tetapi ketika saya menjalankannya di Ubuntu dengan beberapa prosesor, saya mendapatkan aborsi, segfault, glibcs, dll.
Daniel Standage
Saya mengerti bahwa menurunkan versi ke v1.8.10 bukanlah sesuatu yang Anda inginkan untuk solusi jangka panjang, dan jika Anda dapat mengisolasi instalasi mungkin bahkan lebih baik. Saya telah mendistribusikan perangkat lunak dan saya hanya ingin memiliki celah sementara sampai saya dapat mengetahui apa yang sebenarnya salah dengan program saya.
Daniel Standage
Untuk referensi, nomor versi untuk Kairo pergi 1,8 -> 1,9 -> 1,10, sehingga versi yang disertakan dengan Ubuntu harus dapat melakukan semua versi yang Anda gunakan pada MacOS. Jika Anda hanya mengakses Kairo melalui perpustakaan pihak ketiga yang tidak Anda modifikasi, Anda tidak perlu khawatir tentang menggunakan fitur baru secara tidak sengaja dan merusak kompatibilitas dengan lingkungan pengembangan lama Anda. Jika Anda mengalami masalah dengan versi baru, dapatkah Anda menjelaskan apa itu?
James Henstridge

Jawaban:

9

Jika Anda ingin menguji versi lama dari Kairo, Anda bisa membuatnya dalam awalan sementara di direktori home Anda.

Pertama-tama, pastikan Anda telah menginstal dependensi build Kairo. Anda dapat melakukan ini dengan perintah berikut:

sudo apt-get build-dep cairo

Sekarang unduh dan bongkar versi lama Kairo:

wget http://cairographics.org/releases/cairo-1.8.10.tar.gz
tar xzf cairo-1.8.10.tar.gz
cd cairo-1.8.10

Sekarang Anda ingin membangun Kairo menjadi awalan sementara. Saya telah menggunakan ~/prefixini pada beberapa kesempatan, tetapi Anda dapat menggunakan direktori apa pun.

./configure --prefix=$HOME/prefix
make
make install

Sekarang Anda perlu membuat perangkat lunak Anda sendiri menggunakan versi Kairo ini. Jika perangkat lunak digunakan pkg-configuntuk menemukan dependensinya, seharusnya hanya diperlukan untuk mengatur variabel lingkungan berikut:

export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig

Jika tidak digunakan pkg-config, Anda mungkin perlu menyesuaikan CFLAGSuntuk memasukkan -I$HOME/prefix/includedan LDFLAGSmemasukkan -L$HOME/prefix/lib.

Terakhir, untuk menjalankan program Anda menggunakan versi khusus Kairo, Anda harus mengonfigurasi tautan dinamis sehingga mencari perpustakaan bersama di awalan sementara Anda:

export LD_LIBRARY_PATH=$HOME/prefix/lib

Setelah diatur, Anda dapat memverifikasi bahwa program Anda terhubung dengan salinan Kairo yang Anda gunakan ldd. Jika itu terlihat baik-baik saja, Anda sudah selesai.

Membersihkan

Setelah selesai dengan pemasangan sementara ini, membersihkannya cukup mudah. Setel ulang variabel lingkungan dan hapus awalan pemasangan sementara:

unset LD_LIBRARY_PATH
unset PKG_CONFIG_PATH
rm -rf $HOME/prefix

Anda mungkin perlu mengkonfigurasi ulang / membangun kembali program Anda setelah melakukan ini untuk membuatnya menggunakan sistem Kairo lagi.

James Henstridge
sumber
1
Instruksi yang sangat baik dan jelas, dengan proses instalasi dan uninstall yang bersih. Terima kasih!
Daniel Standage
Cara menghapus default termasuk path dari $ HOME sehingga tidak akan menggunakan file cairo default
Dau