Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-07-2010, 13:12   #1
Duchamp
Member
 
L'Avatar di Duchamp
 
Iscritto dal: Apr 2010
Messaggi: 67
[C] metodo "out of the box" per distribuire un software + libreria .so

Ciao raga,
in questi giorni sto cercando un buon metodo per distribuire un software (già compilato), basato su alcune librerie esterne. Sarebbe bello se l'utilizzatore finale dovesse fare il minor sforzo possibile per far partire il programma: unzip dei materiali e doppio click sull'eseguibile. Ho già visto che qualcuno crea una sottodirectory "libs" che contiene tutti i file .so (librerie dinamiche, ambiente linux) e mi sembra un'ottima idea: lo è anche secondo voi?
Non ho problemi nella compilazione ma rimane un punto oscuro: dopo aver "copiato" i file utili da usr/lib (ad esempio) come faccio a linkarli in gcc con il nuovo path, che è in questo caso [mio_programma]/libs? Inoltre, gli header posso tranquillamente lasciarli nella cartella di sistema /include?
Vi ringrazio in anticipo per qualsiasi suggerimento, anche solo relativo alla scelta della cartella libs. Ovviamente guide e link sono i benvenuti
Duchamp è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 13:18   #2
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
se distribuisci l'eseguibile già compilato non servono gli header, servono solo librerie linkate dinamicamente.. ma ti fa schifo usare il make? O:
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 13:28   #3
Duchamp
Member
 
L'Avatar di Duchamp
 
Iscritto dal: Apr 2010
Messaggi: 67
Quote:
Originariamente inviato da tuccio` Guarda i messaggi
se distribuisci l'eseguibile già compilato non servono gli header, servono solo librerie linkate dinamicamente.. ma ti fa schifo usare il make? O:
ciao tuccio`, ma con o senza make il problema rimane, o no? Anche nel makefile io devo specificare il path della libreria, che non è più in /usr ma nella cartella del mio software... O forse non ho colto il senso della tua osservazione
Duchamp è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 16:53   #4
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
nel make puoi mettere nella regola install un semplice cp libreria.so /usr/lib/libreria.so

e visto che ci sei distribuisci anche il sorgente e compila tutto con make ^_^
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2010, 13:25   #5
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Duchamp Guarda i messaggi
Non ho problemi nella compilazione ma rimane un punto oscuro: dopo aver "copiato" i file utili da usr/lib (ad esempio) come faccio a linkarli in gcc con il nuovo path, che è in questo caso [mio_programma]/libs? Inoltre, gli header posso tranquillamente lasciarli nella cartella di sistema /include?
Gli include servono solo per compilare per cui se distribuisci solo l'eseguibile lasciali pure dove sono. Per le librerie hai due alternative
1) colleghi staticamente le librerie all'eseguibile che quindi conterra' tutto il necessario e non necessitera' di file .so esterni
2) prepari uno script da far lanciare (al posto dell'eseguibile) che prima di far partire il programma vero e proprio imposti tra le altre cose la variabile d'ambiente LD_LIBRARY_PATH in modo che punto alla cartella con i file .so
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 26-07-2010, 14:09   #6
Duchamp
Member
 
L'Avatar di Duchamp
 
Iscritto dal: Apr 2010
Messaggi: 67
Ciao di nuovo a tutti e grazie per le risposte. Purtroppo, vista l'utenza che utilizzerà il software, non è proprio possibile parlare di make e compilazione da sorgenti Dev'essere sul serio un binario già compilato pronto per l'uso.

Quindi se setto la variabile d'ambiente LD_LIBRARY_PATH con la cartella [mio_programma]/libs, questo path andrà a sovrascrivere quelli già esistenti standard o si aggiungerà semplicemente in coda?
Duchamp è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2010, 09:49   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sai già la distribuzione target sulla quale andrà installato ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2010, 11:29   #8
Z80Fan
Senior Member
 
L'Avatar di Z80Fan
 
Iscritto dal: Sep 2009
Messaggi: 638
Ciao!
Quote:
Originariamente inviato da Duchamp Guarda i messaggi
Quindi se setto la variabile d'ambiente LD_LIBRARY_PATH con la cartella [mio_programma]/libs, questo path andrà a sovrascrivere quelli già esistenti standard o si aggiungerà semplicemente in coda?
si, a meno che non usi qualcosa del tipo
LD_LIBRARY_PATH = $LD_LIBRARY_PATH; path;path

Se vuoi, conosco questo programma...
http://www.phunland.com/wiki/Download
...che usa lo script di avvio (che si chiama phun) per settare il path giusto, e poi avvia l'eseguibile vero e proprio (che si chiama phun.bin).
__________________
| Il mio "OS" (thread su HWU) | |
Z80Fan è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2010, 11:37   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Comunque quel path lo puoi settare anche al momento in cui vai a lanciare il programma. All'utente farai lanciare uno script bash invece del programma direttamente, così puoi manipolare quella variabile d'ambiente come più ti aggrada.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2010, 16:48   #10
lock cmpxchg8b %ebx
Member
 
Iscritto dal: Apr 2010
Messaggi: 56
E aggiungere $ORIGIN/libs al RPATH?
Così non servono script...
lock cmpxchg8b %ebx è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2010, 22:15   #11
Duchamp
Member
 
L'Avatar di Duchamp
 
Iscritto dal: Apr 2010
Messaggi: 67
Quote:
Originariamente inviato da cionci Guarda i messaggi
Sai già la distribuzione target sulla quale andrà installato ?
Sarà quasi sicuramente usato su Ubuntu e derivati, considerata la diffusione...

Ringrazio tutti per le varie segnalazioni, mi prendo un paio di giorni di studio per le info che mi avete fornito, posterò in caso di problemi!
Duchamp è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2010, 06:59   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Duchamp Guarda i messaggi
Sarà quasi sicuramente usato su Ubuntu e derivati, considerata la diffusione...
Allora fai un pacchetto deb e ti togli la paura Così avrai sotto controllo l'installazione, l'upgrade e la disinstallazione.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2010, 18:54   #13
Duchamp
Member
 
L'Avatar di Duchamp
 
Iscritto dal: Apr 2010
Messaggi: 67
Benissimo, come anticipato eccomi di ritorno a martellare
Il .deb è sicuramente un'ottima idea per il futuro, ma vorrei studiarmelo con calma onde evitare ca**ate. Mi ha attirato molto il flag -rpath, tuttavia leggendo la documentazione non ho capito se dev'essere passato al linker durante la compilazione della libreria oppure quando si compila l'eseguibile finale... potreste farmi/linkarmi qualche esempio concreto? Ringrazio in anticipo.
Duchamp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Denza Z9S: la berlina elettrica con il r...
Valve abilita i driver e il supporto all...
Terafab, il progetto di Musk finisce in ...
Il meglio di Amazon in 42 articoli: sono...
ECOVACS WINBOT W2 PRO OMNI a 349€: ecco ...
Samsung Gallery Cloud Sync introduce il ...
Dyson V8 Cyclone a 249€: scopa elettrica...
Rifiuti elettronici, l'altra faccia dell...
Meta prepara Luna, i nuovi occhiali smar...
SSD NVMe Gen4 2TB in offerta: Acer Preda...
Perché i backup non bastano pi&ug...
Maserati, si concretizza la pista cinese...
Corea del Sud preoccupata: le cinesi YMT...
Se ne vendono 3000 al mese su Amazon: Sm...
Sedie gaming ergonomiche su Amazon: SONG...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v