Domanda

Ho passato l'intera giornata a configurare GCC come da

http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

Nel passo di GCC, mi ha detto che aveva bisogno di un compilatore C ++ per continuare per qualsiasi motivo, quindi ho aggiornato Cygwin nel solito modo e ho ottenuto GCC-C ++.

Successivamente, cgywin mi ha fatto la cortesia di eliminare le 3 librerie prereq che avevo installato in precedenza,

Quindi ho iniziato a rifarli.GMP ha funzionato bene e poi sono arrivato a MPFR.Per qualsiasi motivo MPFR lancia questo errore:

configure: error: libgmp not found or uses a different ABI.

Le risorse menzionano questo errore Qui.

Sono abbastanza sicuro che GMP sia stato trovato correttamente poiché cygcheck lo mostra senza problemi e la configurazione menziona persino che lo trova.

Quando provo:

./configure --with-gmp-build=/gmp/,

lancia:

error: header files gmp-impl.h and longlong.h not found

Finora non sono riuscito a far funzionare MPFR, nonostante abbia cercato su Google e provato per ore.

Anche MPC non riesce a trovare GMP nel solito modo.

Ho anche provato a consegnare le librerie a GCC in una sottodirectory e lasciargli la compilazione.

Quando lo provo, arriva al passaggio make, quindi lancia a stage1-bubble errore e fallisce.Nessuna descrizione dell'errore o altro.

Non ho idea di cos'altro provare.

È stato utile?

Soluzione

So che questo post è un po' datato, ma stavo cercando una risposta o dei risultati per una situazione simile ma con versioni molto più attuali delle stesse librerie.Durante la lettura di questo post, di alcuni suggerimenti e di altro materiale online, sono riuscito a mettere insieme tutto.Quindi, per chiunque stia lavorando con le versioni più recenti, ecco qui:


Per prima cosa probabilmente vorrai configurare, creare e installare prima GMP sia per C che per C++ come librerie statiche;prendere nota anche dell'architettura x86 o x64.Una volta eseguito make, make check, make install;e sei sicuro di non avere errori, quindi quando andrai a configurare MPFR vorrai eseguirlo come tale:

./configure --with-gmp-build=/path/to/gmp --enable-static --disable-shared

e se i percorsi sono impostati correttamente questo dovrebbe darti il ​​file make generato necessario.


Sono nuovo di zecca negli ambienti e nei comandi Unix-Posix e nuovo in Cygwin.Ho utilizzato principalmente piattaforme Windows e pochissimi Mac o Apple.In realtà ci sto lavorando da poco meno di una settimana perché sto cercando di fare la stessa cosa.Quindi ora mi sto avventurando in un mondo completamente nuovo di Unix...ma è in qualche modo simulato tramite Cygwin poiché sto ancora utilizzando Windows.

Sto cercando di creare GMP, MPIR, MPFR e MPFRC++ tutti dalle ultime distribuzioni originali e alla fine proverò a integrarli in Visual Studio 2017.

In realtà avevo trovato questo post perché ero in grado di creare MPIR tramite Visual Studio con l'aiuto di Python e Vyasm, ma per quanto riguarda GMP avevo bisogno di Cygwin con GCC.Mi ci è voluto un po' di tempo per capire come costruire correttamente GMP, ma una volta fatto ed eseguito i test sono riuscito a farli passare tutti con 0 errori.Poi ho iniziato a lavorare con MPFR come te.

Il mio problema simile si è verificato dopo aver eseguito ./configure come predefinito, mi dava il messaggio che libgmp non è stato trovato.Inoltre, se provassi a chiamare make, non farebbe nulla poiché il file make non esiste.Questo mi ha portato di nuovo a fare ricerche su Google...Durante la ricerca di suggerimenti, suggerimenti, ecc.Mi sono imbattuto in questa domanda/risposta.Mentre leggevo questa domanda/risposta, i file di installazione, alcune altre domande frequenti e persino un altro sito Web, sono riuscito a mettere insieme tutto e ho scoperto che funziona è ciò che ho suggerito sopra.

Non solo devi impostare il flag --with-gmp-build ma devi anche impostare i tipi di libreria appropriati con cui è stato creato gmp e devi assicurarti che anche i tipi di architettura corrispondano.Devono avere gli stessi ABI corrispondenti.


Ah, proprio mentre stavo per finire di scrivere questa risposta, ho appena finito di eseguire il controllo su Cygwin e ho il risultato di:

Testsuite summary for MPFR 4.0.1
============================================================================
# TOTAL: 180
# PASS:  180
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

Spero che questo ti aiuti.L'unica cosa è per me stesso;Dovrò tornare indietro e probabilmente eseguire di nuovo tutto dall'inizio, incluso GMP, solo perché credo di aver eseguito solo GCC e non G++ e il mio prossimo passo è provare a creare MPFRC++.

Quindi potrei provare a creare alcune librerie correlate da Qui dopo.La mia prima fase è provare a costruirli tutti tramite Cygwin e GCC/G++.Il passaggio successivo sarà provare a trasferirli su Visual Studio 2017.

Altri suggerimenti

Dopo aver compilato e installare GMP, ho avuto lo stesso problema a costruire MPFR fino a quando non ho impostato correttamente il percorso di ricerca della libreria:

export LD_LIBRARY_PATH=/usr/local/lib
export LIBRARY_PATH=/usr/local/lib
export CPATH=/usr/local/include
.

Come è spiegato in http://cygwin.wikia.com/wiki/how_to_install_gcc_4.3.0

Instead of this:

./configure --with-gmp-build=/gmp/

USE THIS:

./configure --with-gmp-build=/gmp

It doesn't like having the "/" at the end.

You might want to use --with-gmp-lib=/path/to/gmp/lib/dir

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top