Come installare Cairo 1.8.10


12

Il pacchetto libcairo2-devè l'ultima versione della libreria grafica del Cairo (1.10.2). Esiste un modo per installare la versione 1.8.10?

Sto correndo l'11.10, ma sarei interessato a una soluzione generale, se possibile.


Potresti spiegare perché vuoi installare la versione precedente? L'installazione della versione precedente a livello di sistema non è probabilmente una possibilità (alcuni programmi potrebbero dipendere dalle funzionalità della versione più recente), ma se si dispone di un requisito più ristretto per la versione precedente, potrebbe essere possibile una soluzione.
James Henstridge,

Personalmente so molto poco del Cairo, ma ho scritto un programma che si collega a una biblioteca che a sua volta utilizza Il Cairo per generare grafica. Ho fatto la maggior parte dello sviluppo originale sul mio Mac, per il quale l'installazione del Cairo era disponibile solo attraverso qualcosa come Fink (che ha solo la v1.8.10) ...
Daniel Standage,

... Il programma utilizza anche OpenMP e uno dei circuiti parallelizzati per i loop include chiamate alle funzioni della libreria Cairo. Il programma funziona su Ubuntu quando lo eseguo su un singolo processore e funziona su Mac per qualsiasi numero di processori. Ma quando lo eseguo su Ubuntu con più processori, ottengo abort, segfaults, glibcs, ecc.
Daniel Standage,

Comprendo che il downgrade a v1.8.10 non è qualcosa che vorresti per una soluzione a lungo termine e se potessi isolare l'installazione potrebbe anche essere migliore. Ho già distribuito il software e voglio semplicemente avere uno stop-gap temporaneo fino a quando non riesco a capire cosa c'è di veramente sbagliato nel mio programma.
Daniel Standage,

Per riferimento, i numeri di versione per Cairo vanno 1.8 -> 1.9 -> 1.10, quindi la versione inclusa con Ubuntu dovrebbe essere in grado di fare tutto ciò che ha fatto su MacOS. Se accedi al Cairo solo tramite una libreria di terze parti che non stai modificando, non dovresti preoccuparti di utilizzare accidentalmente nuove funzionalità e di interrompere la compatibilità con il tuo vecchio ambiente di sviluppo. Se hai riscontrato un problema con la nuova versione, potresti spiegare di cosa si tratta?
James Henstridge,

Risposte:


9

Se vuoi provare una vecchia versione di Cairo, puoi costruirla in un prefisso temporaneo nella tua home directory.

Prima di tutto, assicurati di aver installato le dipendenze di build di Cairo. Puoi farlo con il seguente comando:

sudo apt-get build-dep cairo

Ora scarica e scompatta la vecchia versione di 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

Ora vuoi costruire il Cairo in un prefisso temporaneo. L'ho usato ~/prefixper questo in alcune occasioni, ma puoi usare qualsiasi directory.

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

Ora devi fare in modo che il tuo software utilizzi questa versione di Cairo. Se il software utilizza pkg-configper individuare le sue dipendenze, dovrebbe essere necessario solo impostare la seguente variabile di ambiente:

export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig

Se non lo utilizza pkg-config, potrebbe essere necessario regolare CFLAGSper includere -I$HOME/prefix/includee LDFLAGSincludere -L$HOME/prefix/lib.

Infine, per eseguire il tuo programma usando la versione personalizzata di Cairo dovrai configurare il linker dinamico in modo che cerchi le librerie condivise nel tuo prefisso temporaneo:

export LD_LIBRARY_PATH=$HOME/prefix/lib

Una volta impostato, puoi verificare che il tuo programma si colleghi alla tua copia del Cairo utilizzando ldd. Se sembra a posto, hai finito.

Pulire

Una volta terminata questa installazione temporanea, la pulizia è abbastanza semplice. Basta ripristinare le variabili di ambiente e rimuovere il prefisso di installazione temporanea:

unset LD_LIBRARY_PATH
unset PKG_CONFIG_PATH
rm -rf $HOME/prefix

Potrebbe essere necessario riconfigurare / ricostruire il programma dopo averlo fatto per riutilizzare il sistema Cairo.


1
Istruzioni eccellenti e chiare, con un processo di installazione e disinstallazione pulito. Grazie!
Daniel Standage,

Come rimuovere i percorsi di inclusione predefiniti da $ HOME in modo che non utilizzi i file di cairo predefiniti
Dau,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.