Domanda Problema con libcrypto e libssl

Stato
Discussione chiusa ad ulteriori risposte.

Oryx

Utente Bronze
8 Giugno 2016
24
3
2
38
Ciao ragazzi.... ho un problema con libcrypto e libssl andando a compilare il db....

Premetto che uso freebsd 11.1 64bit.. inizialmente dava un errore diverso perché il makefile faceva riferimento alle librerie presenti in
LIBS += /usr/lib/libssl.a /usr/lib/libcrypto.a

Ho provato a cambiare in:
LIBS += /usr/lib32/libssl.a /usr/lib32/libcrypto.a

Ha iniziato a dare il seguente errore:

/usr/bin/ld: /usr/lib32/libcrypto.a(asn_moid.o): `_ThreadRuneLocale' accessed both as normal and thread local
symbol /usr/lib32/libcrypto.a: could not read symbols: File in wrong format

Su suggerimento ho così provato a prendere quelle librerie da una macchina 11.1 32 bit e metterli in una cartella a caso (Ho creato una cartella a caso nella extern) dove ho messo le librerie "estratte" dalla macchina 32bit e ho cambiato il percorso del makefile in

LIBS += /usr/home/source/Extern/modules/libssl/LIBSSL.A /usr/home/source/Extern/modules/libcrypto/LIBCRYPTO.A

Ma l'errore persiste.... sapreste come aiutarmi? Grazie a tutti in anticipo
 
Se leggi il percorso che hai inserito è "lib32", perciò la compilazione usa le librerie q 32 bit. Per usare quelle del 64bit ti basta usare la cartella "lib" e non "lib32".
In ogni caso se proprio non riesci in giro su internet trovi freebsd 9.x preparata per la compilazione source, nell'80% dei casi questa versione funziona editando solo libdir del makefile.


FreeWar Developer
 
Se leggi il percorso che hai inserito è "lib32", perciò la compilazione usa le librerie q 32 bit. Per usare quelle del 64bit ti basta usare la cartella "lib" e non "lib32".
In ogni caso se proprio non riesci in giro su internet trovi freebsd 9.x preparata per la compilazione source, nell'80% dei casi questa versione funziona editando solo libdir del makefile.


FreeWar Developer
Vi ringrazio per l'aiuto, comunque inizialmente il percorso era sulla cartella lib ma dava questo errore


/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/libcrypto.a(p12_asn.o)' is incompatible with i386 output
 
Se leggi il percorso che hai inserito è "lib32", perciò la compilazione usa le librerie q 32 bit. Per usare quelle del 64bit ti basta usare la cartella "lib" e non "lib32".
In ogni caso se proprio non riesci in giro su internet trovi freebsd 9.x preparata per la compilazione source, nell'80% dei casi questa versione funziona editando solo libdir del makefile.


FreeWar Developer
Vi ringrazio per l'aiuto, comunque inizialmente il percorso era sulla cartella lib ma dava questo errore


/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/libcrypto.a(p12_asn.o)' is incompatible with i386 output
Come puoi constatare lui non compila in quanto richiese le lib a 32 bit! Ora puoi fare una cosa, ci sta un percorso ftp fornito da freebsd dove ti da la possibilità di scaricare alcuni file di sistema sia per il OS a 64 che per il 32! Scarichi tutte le lib della 32 e le inserisci nella cartella libs32 e vedrai che dovrebbe risolversi! In ogni caso come già detto ci sta una release in giro freebsd 9.x a 32 bit che ti evita molti impicci!

Edit: ecco il link ftp://ftp.freebsd.org/pub/FreeBSD/releases

FreeWar Developer
 
Come puoi constatare lui non compila in quanto richiese le lib a 32 bit! Ora puoi fare una cosa, ci sta un percorso ftp fornito da freebsd dove ti da la possibilità di scaricare alcuni file di sistema sia per il OS a 64 che per il 32! Scarichi tutte le lib della 32 e le inserisci nella cartella libs32 e vedrai che dovrebbe risolversi! In ogni caso come già detto ci sta una release in giro freebsd 9.x a 32 bit che ti evita molti impicci!

Edit: ecco il link ftp://ftp.freebsd.org/pub/FreeBSD/releases

FreeWar Developer
Appena arrivo a casa provo, grazie mille! Comunque avevo provato a prendere le libcrypto.a e libssl.a 11.1 32 bit e inserirle nel percorso che poi ho linkato dalla extern.... Non so se è proprio la stessa cosa oppure no... In ogni modo farò un tentativo, grazie ancora
 
Se leggi il percorso che hai inserito è "lib32", perciò la compilazione usa le librerie q 32 bit. Per usare quelle del 64bit ti basta usare la cartella "lib" e non "lib32".
In ogni caso se proprio non riesci in giro su internet trovi freebsd 9.x preparata per la compilazione source, nell'80% dei casi questa versione funziona editando solo libdir del makefile.


FreeWar Developer
Vi ringrazio per l'aiuto, comunque inizialmente il percorso era sulla cartella lib ma dava questo errore


/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/libcrypto.a(p12_asn.o)' is incompatible with i386 output
Prova a caricare in macchina il codice sorgente della cryptopp e a compilare direttamente la lib (32 o 64 bit in base a come stai compilando il sorgente server)

Inviato dal mio LG-H870 utilizzando Tapatalk
 
Come puoi constatare lui non compila in quanto richiese le lib a 32 bit! Ora puoi fare una cosa, ci sta un percorso ftp fornito da freebsd dove ti da la possibilità di scaricare alcuni file di sistema sia per il OS a 64 che per il 32! Scarichi tutte le lib della 32 e le inserisci nella cartella libs32 e vedrai che dovrebbe risolversi! In ogni caso come già detto ci sta una release in giro freebsd 9.x a 32 bit che ti evita molti impicci!

Edit: ecco il link ftp://ftp.freebsd.org/pub/FreeBSD/releases

FreeWar Developer
Ho provato così come hai detto tu ma persiste il solito errore, ti ringrazio comunque
 
Come puoi constatare lui non compila in quanto richiese le lib a 32 bit! Ora puoi fare una cosa, ci sta un percorso ftp fornito da freebsd dove ti da la possibilità di scaricare alcuni file di sistema sia per il OS a 64 che per il 32! Scarichi tutte le lib della 32 e le inserisci nella cartella libs32 e vedrai che dovrebbe risolversi! In ogni caso come già detto ci sta una release in giro freebsd 9.x a 32 bit che ti evita molti impicci!

Edit: ecco il link ftp://ftp.freebsd.org/pub/FreeBSD/releases

FreeWar Developer
Ho provato così come hai detto tu ma persiste il solito errore, ti ringrazio comunque
Fai prima così fidati:

https://mega.nz/#!INBDBaKL!aF1Eku99UlgKfg_PxxNFi0L4ZPH8Yd4gu80LE6eL_iY



FreeWar Developer
 
Ahahaha va bene allora farò così... nel mentre continuerò a cercare di capire il perché visto che, ora che posso, vorrei iniziare ad entrare in questo mondo
Potresti provare a prendere la stessa libreria della 64 bit e metterla nella cartella a 32! Su alcuni forum di Freebsd dicono di aver risolto cosi!

FreeWar Developer
 
Questo è uno dei motivi per cui i server di Metin2 in Italia generalmente fanno schifo. Workaround fin dall'inizio o strada facile piuttosto che quella giusta.
Alla fine non è tanto la compilazione dove avviene! Adesso se compila su una macchina già preparata non è che cambia chissà che! Perdere tempo per una macchina che fa capricci per delle libs non è molto quanto utile, perdere invece del tempo dietro un bug della source game/client allora li si che la cosa diventa utile.

Parere mio eh, poi posso anche sbagliare

FreeWar Developer
 
Alla fine non è tanto la compilazione dove avviene! Adesso se compila su una macchina già preparata non è che cambia chissà che! Perdere tempo per una macchina che fa capricci per delle libs non è molto quanto utile, perdere invece del tempo dietro un bug della source game/client allora li si che la cosa diventa utile.

Parere mio eh, poi posso anche sbagliare

FreeWar Developer
In quanto Developer avrai sicuramente fatto tutte le prove o ricerche del caso per affermare ciò.
Se ti risulta che eseguire i binari compilati a 64 bit invece che a 32 non cambia niente e che le librerie e compilatore aggiornati non hanno alcun miglioramento significativo allora chiedo scusa. Avevo letto diversamente, ma si vede che mi sbagliavo.
 
Non mi sono spiegato bene, io non intendevo dire che non ci sta differenza ma volevo intendere che al momento non è importante perdersi dietro ciò tutto qua l!

FreeWar Developer
 
Non mi sono spiegato bene, io non intendevo dire che non ci sta differenza ma volevo intendere che al momento non è importante perdersi dietro ciò tutto qua l!

FreeWar Developer
Quindi:
Questo è uno dei motivi per cui i server di Metin2 in Italia generalmente fanno schifo. Workaround fin dall'inizio o strada facile piuttosto che quella giusta.
Supponiamo anche solo per un momento che sia un'attività che non implichi grandi cambiamenti. Inizi con una piccola cosa, poi aggiungi altre piccole cose che salti perché non hai voglia, poi ti ritrovi con decine di piccolezze che potevi risolvere ma non hai voluto e magari queste piccolezze di poco conto ti creano diversi casini, che a risolvere una volta in produzione implicano non poche bestemmie.
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom