Newsgroup: it.comp.macintosh
Titolo: Problemi con pkg-config

Ho scaricato e installato pkg-config 0.21 ma è come se non l'avessi
fatto.
Infatti:
1) quando eseguo il configure di glib 2.12.9 mi dice che non lo trova (e
invece c'è)
2) se digito man pkg-config mi dice "No manual entry for pkg-config"
(eppure il README dice "For more info, there's even a man page, try 'man
pkg-config'")
3) ma perché nel pacchetto pkg-config c'è una directory glib-1.2.8?
Boh?
Pippotto
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 pkg-config'")
Il man preconfigurato da Apple si aspetta i manuali in
/usr/local/share/man ma pkg-config li ha messi in
/usr/local/man. Puoi risolvere con un link:
sudo ln -s /usr/local/man /usr/local/share/man

 al tuo profile.
Ho disinstallato pkg-config, digitato sudo port install pkgconfig e
DarwinPorts ha sistemato tutto.
Anche se mi ha creato un doppione di tutti i file (in /opt/local/ e in
/opt/local/var/db/dports/software/pkgconfig/0.21_0/opt/local/).
Ora il configure di GLib dice "checking for pkg-config...
/opt/local/bin/pkg-config" ma si ferma qualche riga dopo perché "you
must have either
gettext support in your C library, or use the GNU gettext library".
Provvederò.
Per adesso grazie.


 gettext support in your C library, or use the GNU gettext library".
Se hai installato i MacPorts, allora, ormai è meglio continuare
da lì visto che è disponibile proprio la versione più recente
delle glib, la 2.12.7: le librerie "gettext" verranno precompilate
automaticamente dai MacPorts.

 automaticamente dai MacPorts.
Infatti l'errore è dovuto sempre al fatto che GLib va a cercare
pkg-config piuttosto che gettext dove non ci sono.
Come rimediare? Devo modificare il file profile o specificare ogni volta
il percorso dopo ./configure? Se non abuso della tua pazienza (ne hai
dimostrata molta) puoi spiegarmi brevemente (o darmi un link) l'uso di
export, PATH e prefix? Il mio profile contiene queste righe:
# Your previous .profile  (if any) is saved as .profile.dpsaved
# Setting the path for DarwinPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Posso specificare un PATH per le installazioni fatte da DarwinPorts e un
altro in maniera che venga usata /urs/local/ anziché /usr/ per le
installazioni "a mano"?
Grazie
P.


 installazioni "a mano"?
Io aggiungerei semplicemente l'/usr/local/bin per primo,
come avevo già suggerito.
I MacPorts, al momento della compilazione, premettono
comunque l'/opt/local al di là di come è configurato il
.profile, creandosi una propria sandbox e ignorando
sempre più ciò che risulta giù installato nel sistema
(molte dipendenze ormai vengono espresse con la direttiva
"port:", per cui viene forzata comunque l'installazione
ex-novo dei propri pacchetti).
Lasciando /opt/local/bin al secondo posto non impedisci
invece ai configure standard di rilevare ciò che hai
già installato mediante i MacPorts.

 già installato mediante i MacPorts.
Ti saprò dire se funziona. Ho provato un sudo port install gettext, e
DarwinPorts mi ha
scaricato anche 2 dipendenze: expat (tutto OK) e libiconv, che invece ha
abortito con alcuni errori.
Quindi ho installato libiconv a mano senza problemi, a parte il fatto
che expat risiede ora in opt/local, e libiconv in usr/local.
Vorrei che fossero accessibili entrambi come se fossero nella stessa
directory.
Saluti


 come avevo già suggerito.
Ho modificato la stringa export come da te consigliato. Ora è:
export PATH=/usr/local/bin:/opt/local/bin:/opt/local/sbin:$PATH
1) Sono uscito e rientrato nel terminale (altrimenti la modifica non ha
effetto)
2) DarwinPorts continua a mettere le sue cose in /opt/local/
3) Il configure di GLib trova tutto quello che gli serve, che si trovi
in /usr/local/ (nel mio caso gettext) o in /opt/local/ (nel mio caso
pkg-config).
Non so come ringraziarti. Ancora 2 cose:
a) Come si diventa root nel Terminale?
b) Il profile utilizzato quando si passa a root sarà sempre quello della
directory home o diventa quello in /etc/?
Saluti


 a) Come si diventa root nel Terminale?
L'utente root prima deve essere abilitato e ciò lo si può
fare da Terminale semplicemente tentando di cambiare la
sua password con:
sudo passwd
Proprio così: per attivare root bisogna operare come root!
"sudo" permette infatti di assumere temporaneamente uno
User ID effettivo pari a 0 (quello di root) dopo aver
immesso la propria password di utente del gruppo "admin".
Per loggarsi e aprire una nuova sessione come utente root
devi poi digitare
su -
fornendo la password di root creata prima.
Occhio che la home di root non è /Users/root ma diventa
/var/root ed è come se tu aprissi una finestra di Terminale
nuova, perdendo tutte le variabili d'ambiente da cui
partivi: se c'è un /var/root/.profile, è questo ad essere
eseguito, e in mancanza di questo il $PATH viene riportato a
/bin:/sbin:/usr/bin:/usr/sbin.
E' possibile però passare a root conservando le variabili
d'ambiente della shell corrente, compreso il $PATH, usando
l'opzione -m:
su -m
In questo caso, anche se si assume l'identità piena
di root, si rimane ancora nella home dell'utente di
partenza e si può comodamente proseguire con le operazioni
che si stavano compiendo.

Ho installato GLib ma pkg-config forse non lo "vede".
Per es., dando il seguente comando nel terminale:
pkg-config --modversion glib-config
ottengo questa risposta:
Package glib-config was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-config.pc'
to the PKG_CONFIG_PATH environment variable
No package 'glib-config' found
Ho inserito, come suggerito da qualche sito, la stringa
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
al profile, ma non cambia niente. Il percorso č quello dove si trovano
le librerie dipendenti da pkg-config (compresa glib), mentre pkgconfig č
in opt/local/bin.


 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
C'era un a capo di troppo dopo "export".
Infatti, dando il comando
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
da terminale il tutto funzionava.
