erlug
[Top] [All Lists]

Re: [Erlug] donde pippa sta GSL?

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] donde pippa sta GSL?
From: Davide Bolcioni <db_erlug@xxxxxxxx>
Date: Mon, 17 Dec 2012 21:22:23 -0800
On Monday, December 17, 2012 06:09:52 PM Federico Calboli wrote:

> 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.

<Prev in Thread] Current Thread [Next in Thread>