chiarimenti su rpath
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
chiarimenti su rpath
chi mi spiega bene questo parametro del configure?
--disable-rpath
nel senso non che serve a dibisalitare il "runtime library search paths", ma proprio cosa è questo controllo. Se disabilito (ho visto che su arch compilano quasi tutto così per esempio) ho vantaggi o svantaggi? i pacchetti hanno meno "dipendenza" dalla versione delle librerie? o è solo un modo per trovare prima il path delle stesse?
cercando in rete ho trovato una spiegazione su come agire con cmake
http://www.itk.org/Wiki/CMake_RPATH_han ... ATH_at_all
ed ho letto varie cose, ma se qualcuno mi spiega meglio ne sarei grato
--disable-rpath
nel senso non che serve a dibisalitare il "runtime library search paths", ma proprio cosa è questo controllo. Se disabilito (ho visto che su arch compilano quasi tutto così per esempio) ho vantaggi o svantaggi? i pacchetti hanno meno "dipendenza" dalla versione delle librerie? o è solo un modo per trovare prima il path delle stesse?
cercando in rete ho trovato una spiegazione su come agire con cmake
http://www.itk.org/Wiki/CMake_RPATH_han ... ATH_at_all
ed ho letto varie cose, ma se qualcuno mi spiega meglio ne sarei grato
- 414N
- Iper Master
- Messaggi: 2922
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: chiarimenti su rpath
Da come l'ho capita io, è un modo per cablare il percorso di ricerca delle librerie condivise richieste da un'applicazione nel binario dell'applicazione stessa.
In questo modo, in caso di librerie differenti ma omonime presenti sul sistema, si può forzare un binario a caricare quella giusta, e non la prima che si presenta nel percorso di ricerca.
Il fatto che in Arch venga rimosso è dovuto ad un possibile problema di sicurezza insito nell'uso degli rpath: è infatti possibile modificare l'ubicazione delle librerie puntate dal rpath per puntare a proprie librerie, magari piene di codice "malizioso".
In questo modo, in caso di librerie differenti ma omonime presenti sul sistema, si può forzare un binario a caricare quella giusta, e non la prima che si presenta nel percorso di ricerca.
Il fatto che in Arch venga rimosso è dovuto ad un possibile problema di sicurezza insito nell'uso degli rpath: è infatti possibile modificare l'ubicazione delle librerie puntate dal rpath per puntare a proprie librerie, magari piene di codice "malizioso".
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: chiarimenti su rpath
Interessante il link che hai postato Corrado. Io avevo sempre utlizzato la variabile d'ambiente LD_LIBRARY_PATH per indicare al linker dove andare a cercare le mie librerie, non sapevo neanche dell'esistenza di RPATH. Concordo con l'interpretazione di 414N.
Emanuele
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: chiarimenti su rpath
quel che non capisco è se però andrebbe indicato al momento della compilazione questo percorso o lo prende da se non disabilitandolo.
- targzeta
- Iper Master
- Messaggi: 6631
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: chiarimenti su rpath
Allora, -rpath è una opzione per il linker (man ld). Il compilatore gnu non setta il run path all'interno dell'eseguibile a meno che non lo si specifichi. Ho provato a compilare un programma con 'make' e poi con 'LD_RUN_PATH=/home/spina/ make', nel secondo caso:
Emanuele
P.S. Ecco un altro link:
http://gcc.gnu.org/faq.html#rpath
Codice: Seleziona tutto
readelf -d acpi| grep RPATH
0x000000000000000f (RPATH) Library rpath: [/home/spina/]
P.S. Ecco un altro link:
http://gcc.gnu.org/faq.html#rpath
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama