One of steps of bootstrapping Gentoo/FreeBSD from Gentoo/Linux and cross-compiling base system is installing sys-devel/gcc, and it fails. Reproducible: Always Steps to Reproduce: 1. Run all steps from bug #543292 and apply temporary patch to portage 2. Apply patch for gmp from bug #511680 3. Also I had to do a hack to choose correct make. Not sure if it's relevant for current bug, but it wouldn't hurt for sure cat >/usr/i686-gentoo-freebsd9.2/etc/portage/bashrc << END #!/bin/bash case $(uname -s) in *BSD|DragonFly) export USERLAND="BSD" ;; *) export USERLAND="GNU" ;; esac END 4. BMAKE="pmake -m /usr/share/mk/freebsd" PYTHON_TARGETS="python2_7" USE="build -nls -ssl -fortran" emerge-i686-gentoo-freebsd9.2 -1av sys-devel/gcc Actual Results: Build fails Expected Results: Build should succeed If some other temporary fixes would be needed, currently some are posted with bug #544742 HOST EMERGE INFO $ emerge --info Portage 2.2.14 (python 2.7.9-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.3, glibc-2.20-r2, 3.14.36-gentoo.45 x86_64) ================================================================= System uname: Linux-3.14.36-gentoo.45-x86_64-Pentium-R-_Dual-Core_CPU_T4200_@_2.00GHz-with-gentoo-2.2 KiB Mem: 4050856 total, 460364 free KiB Swap: 4192252 total, 4148820 free Timestamp of tree: Mon, 30 Mar 2015 00:45:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 app-shells/bash: 4.2_p53 dev-lang/perl: 5.20.1-r4 dev-lang/python: 2.7.9-r1, 3.4.1 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.11 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6-r1, 1.13.4 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.8.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.6 sys-devel/make: 4.1-r1 sys-kernel/linux-headers: 3.18 (virtual/os-headers) sys-libs/glibc: 2.20-r2 Repositories: gentoo sunrise rion local-overlay crossdev Installed sets: @fortune, @kde, @lxqt, @pidgin, @psi ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y --binpkg-respect-use=y --autounmask=n --complete-graph=y --keep-going" FCFLAGS="-O2 -pipe" FEATURES="binpkg-logs distlocks ebuild-locks fakeroot fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ http://trumpetti.atm.tut.fi/gentoo/ http://gentoo.bloodhost.ru/ http://mirror.mdfnet.se/gentoo ftp://mirror.mdfnet.se/gentoo http://gentoo.inode.at/ http://ftp.df.lth.se/pub/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.halifax.rwth-aachen.de/gentoo/" INSTALL_MASK=" /etc/systemd /lib*/systemd /lib*/tmpfiles.d /usr/lib*/systemd /usr/lib*/tmpfiles.d /usr/lib*/python*/test " LANG="ru_RU.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/rion /usr/local/portage /usr/local/portage_crossdev" SYNC="" USE="X a52 aac acl acpi alsa amd64 amr apm ares bash-completion bidi bluetooth branding bzip2 c++0x cairo caps cdda cdio cdr cleartype cli consolekit cracklib crypt cue cups custom-cflags custom-optimization cxx dbus dga dirac dri dts dvd dvdr emboss encode exif faad fam fbcon ffmpeg firefox flac fontconfig fontforge freetype fribidi gcrypt gif glamor gme gmp gnutls gpm gtk iconv icu idn imlib inotify ipv6 jadetex jpeg kde lcms libass libdvdcss lzma lzo mad matroska midi mmap mmx mmxext mng modules mp3 mp4 mpeg mpi multilib ncurses network nfs nls nptl offensive ogg openal opengl openmp pango pch pcmcia pcntl pcre pdf pic plasma pm-utils png policykit posix postproc ppds private-headers projectm qt3support qt4 raw readline schroedinger session sftp sndfile sockets spell sse sse2 ssl startup-notification svg system-cairo system-icu system-jpeg system-libvpx system-sqlite tcpd tga theora threads tiff truetype udev udisks unicode upower usb utils v4l vaapi vdpau vorbis vpx wavpack wicd wifi wma wxwidgets x264 xattr xcb xcomposite xft xinerama xpm xscreensaver xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru en ru_RU en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="vesa vga nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="2.7 3.4" Unset: CPPFLAGS, CTARGET, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS TARGET EMERGE INFO: $ emerge-i686-gentoo-freebsd9.2 --info Portage 2.2.14 (python 2.7.9-final-0, default/bsd/fbsd/x86/9.2, gcc-4.8.3, unavailable, 3.14.36-gentoo.45 x86_64) ================================================================= System uname: Linux-3.14.36-gentoo.45-x86_64-Pentium-R-_Dual-Core_CPU_T4200_@_2.00GHz-with-gentoo-2.2 KiB Mem: 4050856 total, 784460 free KiB Swap: 4192252 total, 4148820 free Timestamp of tree: Mon, 30 Mar 2015 00:45:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 sys-devel/gcc-config: 1.8 sys-freebsd/freebsd-lib: 9.2::crossdev Repositories: gentoo local-overlay crossdev ACCEPT_KEYWORDS="x86-fbsd ~x86-fbsd" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -fomit-frame-pointer" CHOST="i686-gentoo-freebsd9.2" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FCFLAGS="-march=i486 -O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nodoc noinfo noman parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync xattr" FFLAGS="-march=i486 -O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" INSTALL_MASK="/usr/lib/systemd" LANG="ru_RU.utf8" LDFLAGS="" PKGDIR="/usr/i686-gentoo-freebsd9.2/packages/" PORTAGE_CONFIGROOT="/usr/i686-gentoo-freebsd9.2/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/usr/i686-gentoo-freebsd9.2/tmp/" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage_crossdev" USE="acl berkdb cracklib crypt cxx dri gdbm iconv ipv6 java5 java6 libav modules ncurses nls oss pcre python2 readline ssl tcpd unicode x86-fbsd zlib" ABI_X86="32" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="FreeBSD" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse" KERNEL="FreeBSD" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="BSD" VIDEO_CARDS="apm ark chips cirrus cyrix dummy i128 intel mach64 mga nv r128 radeon rendition s3 s3virge savage siliconmotion sis tga trident tseng vmware fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Created attachment 400168 [details] gcc-build-logs.tar.bz2
Created attachment 400172 [details, diff] freebsd-crosscompilation.patch One of two patches which allowed me to build gcc.
Created attachment 400174 [details, diff] 0044-gengtypes.patch Second patch. After fixing first issue I hit another one, but fortunately I found fix here and took this patch from here IIRC: http://lists.openembedded.org/pipermail/openembedded-core/2013-August/083103.html
Created attachment 400186 [details] gcc-build-logs2.tar.bz2 Build logs for build with only freebsd-crosscompilation.patch applied. Part with error: i686-gentoo-freebsd9.2-g++ -c -DGENERATOR_FILE -O2 -pipe -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/. -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/../include -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/../libcpp/include -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/../libdecnumber -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/../libbacktrace /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c -o gengtype.o In file included from /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c:25:0: /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c: In function ‘void error_at_line(const fileloc*, const char*, ...)’: /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/system.h:93:53: error: ‘fputc_unlocked’ was not declared in this scope # define fputc(C, Stream) fputc_unlocked (C, Stream) ^ /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c:117:3: note: in expansion of macro ‘fputc’ fputc ('\n', stderr); ^ /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c: In function ‘bool is_file_equal(outf_p)’: /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/system.h:130:47: error: ‘fgetc_unlocked’ was not declared in this scope # define fgetc(Stream) fgetc_unlocked (Stream) ^ /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c:2303:12: note: in expansion of macro ‘fgetc’ ch = fgetc (newfile); ^ /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c: In function ‘void close_output_files()’: /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/system.h:165:77: error: ‘fwrite_unlocked’ was not declared in this scope # define fwrite(Ptr, Size, N, Stream) fwrite_unlocked (Ptr, Size, N, Stream) ^ /usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/gengtype.c:2343:8: note: in expansion of macro ‘fwrite’ if (fwrite (of->buf, 1, of->bufused, newfile) != of->bufused) ^ Makefile:1070: recipe for target 'gengtype.o' failed gmake[2]: *** [gengtype.o] Error 1 gmake[2]: Leaving directory '/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/build/gcc' Makefile:3906: recipe for target 'all-gcc' failed gmake[1]: *** [all-gcc] Error 2 gmake[1]: Leaving directory '/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/build' Makefile:854: recipe for target 'all' failed gmake: *** [all] Error 2 * ERROR: sys-devel/gcc-4.8.4::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=sys-devel/gcc-4.8.4::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-4.8.4::gentoo'`. * The complete build log is located at '/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/temp/build.log'. * The ebuild environment file is located at '/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/temp/environment'. * Working directory: '/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/build' * S: '/usr/i686-gentoo-freebsd9.2/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4'
*-fbsd is gone.