Indice del forum Emilia Romagna Linux Users Group
i forum di ERLUG
torna alla home page di ERLUG
 
 Forum SubscriptionsForum Subscriptions   FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

donde pippa sta GSL?

 
Nuovo argomento   Rispondi    Indice del forum -> ERLUG
Precedente :: Successivo  
Autore Messaggio
Federico Calboli



Registrato: 01/04/07 18:57
Messaggi: 430

MessaggioInviato: Lun 17 Dic 2012 19:25    Oggetto: donde pippa sta GSL? Rispondi citando

Nobili Sontuosita` Vostre,

ho il seguente problemuzzo. Sto aiutando un amico a mettere in piedi un pacchetto per R (che voi sapete gia` che cosa sia, ma lo ricordo a scanso di equivoci: http://www.r-project.org/), che fa un linking con del codice in C++, la cui sorgente e` chiaramente nel pacchetto ipso.

Ora, il pacchetto necessita di nientepopodimeno che GSL, BLAS e pure OPENMP (per farsi del male).

Andando un pezzo per volta, pare che per fare fungere il tutto in un utente quello che sia (e ha da fungere Linux/OSX/Win) si ha da fare un makevars. Ok, fino a qui ci si sta. Il problema e` che so che nel makevars si deve specificare donde cippa siano GSL e cose belle. Ora io so che per GSL (per esempio) ho da fa:

LIB_GSL=/path/to/gsl/installation/
PKG_LIBS=-lgsl -lgslcblas -L${LIB_GSL}/lib
PKG_CPPFLAGS=-I$(LIB_GSL)/include

il mio problema e` che non voglio un hardocde di /path/to/gsl/chetivenga in quanto mi sa che non sia nello stesso posto per tutti. Esiste un modo *semplice* di dire in un makefile: 'trova dove cazzo stanno ste librerie e non sfasciare le balle che non ne ho piu` da dare'?

Con trepida riconoscenza,

F
Top
Profilo Invia messaggio privato
Davide Bolcioni
Ospite





MessaggioInviato: Mar 18 Dic 2012 06:37    Oggetto: donde pippa sta GSL? Rispondi citando

On Monday, December 17, 2012 06:09:52 PM Federico Calboli wrote:

Citazione:
Andando un pezzo per volta, pare che per fare fungere il tutto in un utente
quello che sia (e ha da fungere Linux/OSX/Win) si ha da fare un makevars.
Ok, fino a qui ci si sta. Il problema e` che so che nel makevars si deve
specificare donde cippa siano GSL e cose belle. Ora io so che per GSL (per
esempio) ho da fa:

LIB_GSL=/path/to/gsl/installation/
PKG_LIBS=-lgsl -lgslcblas -L${LIB_GSL}/lib
PKG_CPPFLAGS=-I$(LIB_GSL)/include

Per quanto riguarda Linux, il problema va riformulato in funzione della
fatidica domanda ... quale GSL ? Se ad esempio è la GSL installata con RPM o
deb, la risposta è facile:

PKG_LIBS=-lgsl -lgslcblas
PKG_CPPFLAGS
perchè la libreria deve stare dove stanno le altre, in /usr/lib o in
/usr/lib64, che è il posto dove -l sa di doverle cercare.

Se invece è una versione di GSL installata in ~miocugino/gsl, evidentemente
non si può sapere e bisogna indicarlo

LIB_GSL=~miocugino/gsl
PKG_LIBS=-lgsl -lgslcblas -L${LIB_GSL}/lib
PKG_CPPFLAGS=-I$(LIB_GSL)/include

potrebbe anche esserci come parte dell'installazione di GSL uno script di
shell, gsl-config, le cui opzioni corrispondono a quello che ti serve, ovvero

PKG_LIBS=$(gsl-config --libs)
PKG_CPPFLAGS=$(gsl-config --cflags)

ma perché ciò sia utile occorre che gsl-config sia in una directory che fa
parte del PATH, e nel caso di ~miocugino non è detto.

Segnalo che ho parlato di "installazione", cioè mio cugino deve aver eseguito
la fatidica combinazione "configure && make && make install" con successo. Il
valore giusto per LIB_GSL è sempre una directory tale che

${LIB_GSL}/lib/libgsl.so

corrisponda alla libreria dinamica che ti interessa (di solito è un symlink).

Per quanto riguarda Mac OSX, fornisco iSuggerimenti solo a fronte di un i30%
sugli iUtili.

Sulle piattaforme legacy che sottopongono a inutili vessazioni l'acquirente
LIB_GSL probabilmente comincia con C: e ha le barre all'indietro.

Davide Bolcioni
_________________
There is no place like /home.
Top
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> ERLUG Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it

torna alla home page di ERLUG
Per informazioni o problemi, contattare info@erlug.linux.it.
La connettività per questo sito e per gli altri nostri servizi è offerta da Ehiweb.it