Domanda

sto cercando di attraversare-compilazione GCC su Mac OS 10.5.7. Ho usato questo comando per configurare GCC dopo l'installazione di GMP, MPFR, e MPC:

../gcc-4.5.0/configure --target=$i586-elf --prefix=/usr/local/cross \
    --disable-nls \
    --enable-languages=c,c++,fortran,java,objc,obj-c++,treelang,ada \
    --without-headers --with-libiconv-prefix=/opt/local --with-gmp=/usr/local \
    --with-mpfr=/usr/local --with-mpc=/usr/local

ho ottenuto questo errore:

checking for the correct version of gmp.h... buggy but acceptable
checking for the correct version of mpfr.h... yes
checking for the correct version of mpc.h... yes
checking for the correct version of the gmp/mpfr/mpc libraries... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

Perché potrebbe GCC trovare le intestazioni per GMP, MPFR, e MPC ma non le librerie?

È stato utile?

Soluzione

Ho il sospetto che il problema potrebbe essere che le librerie sono per 32 bit quando si sta tentando di costruire un compilatore a 64 bit, o viceversa.

sono stato in grado di costruire GCC 4.5.1 su MacOS X 10.6.4 poco tempo fa, ma ho costruito e installato il GMP, MPFR e MPC me biblioteche - in /usr/gnu64 (una posizione non standard che uso per cose che installo per il mio beneficio). Ho usato anche la possibilità di configurazione:

CC='gcc -m64'

per forzare un 64-bit build. Ho avuto problemi simili su Linux (più un problema con una regex in opt-functions.awk - facilmente risolto con due back-slash davanti a un tutore aperto) e ha scoperto che ci sono stati aggiornamenti alle librerie MPFR e MPC poiché ho costruito su MacOS X:

  • GMP 5.0.1 (anziché 4.2.4)
  • MPC 0.8.2 (anziché 0.8.1)
  • MPFR 3.0.0 (anziché 2.4.2)

Da quando ho scritto questo, ho cambiato la mia metodologia in qualche modo. Quello che ora non è documentato in Installare GNU GCC su Mac . Fondamentalmente, ho le versioni correnti di GMP, MPC, MPFR e mettere il loro codice sorgente nella directory dei sorgenti GCC, e lasciate GCC compilare le librerie per se stessa. Questo rende accordo GCC con localizzare le librerie.

Altri suggerimenti

Si dovrebbe usare

with-gmp=/usr/local/include \
    --with-mpfr=/usr/local/include --with-mpc=/usr/local/include

anziché

with-gmp=/usr/local \
    --with-mpfr=/usr/local --with-mpc=/usr/local

Ho avuto lo stesso problema cercando di compilazione gcc-4.6.0 su OX 10.6.6. Stavo usando gmp-4.3.2; utilizzando invece gmp-5.0.1, lo script di configurazione sembra indovinare "CC = gcc -std = gnu99 CFLAGS = -O2 -pedantic -m64 -mtune = Core2 -march = Core2", e passa che a MPFR (3.0. 1) e MPC (0,9), in modo da chiunque utilizzi questi o più recenti versioni non dovrebbe avere questo errore.

vorrei suggerire l'installazione di gmp, MPFR e mpc scaricandoli dai loro siti web. Quindi eseguire ./configure (nella cartella in cui i file scaricati) e sudo make install.

GCC dovrebbe compilare poi su Mac OSX (Mountain Lion).

Si noti che MPC dipende MPFR e GMP.

ho usato questo per compilazione pignone kernel su Mac OSX.

Con porte mac MPFR, libmpc e GMP installato, sono stato in grado di virare su questo lo script di configurazione:

--with-mpc=/opt/local/var/macports/software/libmpc/0.8.2_0/opt/local
--with-gmp=/opt/local/var/macports/software/gmp/5.0.1_0/opt/local
--with-mpfr=/opt/local/var/macports/software/mpfr/3.0.0-p8_0/opt/local 

Questo è stato quello di compilazione a ti MSP430 toolchain.

Ho appena risolto un problema simile. Dal momento che il mio CPU è x86_64 ma il mio sistema operativo è a 32 bit, quando installo GMP (5.0.2), è tentare di configurare a 64bit. Così ho ricompilato il mio GMP con configurazione come ABI = 32 ./configure ... allora questo problema GCC scomparso.

Ha avuto problema simile in Ubuntu 16.04 a 64 bit. Risolto utilizzando MPC-1.0.1.tar.gz, MPFR-3.1.6.tar.xz e gmp-6.1.2.tar.xz

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