Trying crossdev -t i686-mingw32 results in failing (I'm using gcc 4.2.1): cross-i686-mingw32-gcc-stage1.log: configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+. Try the --with-gmp and/or --with-mpfr options to specify their locations. Copies of these libraries' source code 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 and/or MPFR 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. * * ERROR: cross-i686-mingw32/gcc-4.3.2 failed. Reproducible: Always
Portage 2.1.4.5 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r4 i686) ================================================================= System uname: 2.6.24-gentoo-r4 i686 Celeron (Mendocino) Timestamp of tree: Fri, 14 Nov 2008 00:45:02 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-lang/python: 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r6 sys-apps/baselayout: 1.12.9 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.supp.name " LANG="ru_RU.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1" LINGUAS="ru en ua" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/voip /usr/portage/local/layman/arcon /usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acl berkdb bzip2 cli cracklib crypt dbus dri fortran fuse gdbm gpm iconv isdnlog midi milter mudflap ncurses nls nptl nptlonly openmp pam pcre perl pic pppd python readline reflection session spl ssl symlink sysfs tcpd unicode userlocales utf8 x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="access auth auth_basic auth_digest authn_alias authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate filter authz_host mime-magic cern-meta expires headers usertrack unique-id info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en ua" USERLAND="GNU" VIDEO_CARDS="dummy vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I would assume crossdev needs to build cross-i686-mingw32/{gmp,mpfr} too, so assigning to crossdev maintainers...
>I would assume crossdev needs to build cross-i686-mingw32/{gmp,mpfr} too Yeap, exactly. Building mpfr manually did the trick
(In reply to comment #3) > >I would assume crossdev needs to build cross-i686-mingw32/{gmp,mpfr} too > > Yeap, exactly. Building mpfr manually did the trick > (In reply to comment #0) > Trying crossdev -t i686-mingw32 results in failing (I'm using gcc 4.2.1): > cross-i686-mingw32-gcc-stage1.log: > > configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+. > Try the --with-gmp and/or --with-mpfr options to specify their locations. > Copies of these libraries' source code 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 and/or MPFR 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. > * > * ERROR: cross-i686-mingw32/gcc-4.3.2 failed. > > Reproducible: Always > Quite same problem here, when trying to cross compile mpfr package. During the Final linking stage, it hard-link to /usr/lib/libgmp.so, whose file format is the host x86 format. We need target format. Obviously the path should be "${ROOT}/usr/lib/libgmp.so" or "-L${ROOT}/usr/lib -lgmp". Later one would preferable. Actually, mpfr does provide one option at configure stage, either pass --with-gmp or --with-gmp-lib will append "-L${ROOT}/usr/lib -lgmp" to LDFLAGS variable. Seems that it will solve this problem with this, but unfortunately it's not the case. It still fail at final linking stage. Spend a few times, but still not catch the cause... clueless
Created attachment 186324 [details] cross emerge mpfr log
the cross-toolchains do not need a native gmp/mpfr. they are CBUILD depends. dropped --nodeps from default emerge options.
http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff;h=e6e832fc3aa7a58059cb4bc9b27de1e379409035