Bug 228015

Summary: ports-mgmt/poudriere-devel can't crossbuild lang/gcc from amd64 to i386
Product: Ports & Packages Reporter: gja822
Component: Individual Port(s)Assignee: Bryan Drewery <bdrewery>
Status: New ---    
Severity: Affects Only Me CC: gerald
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description gja822 2018-05-06 07:05:58 UTC
When trying to compile lang/gcc7 lang/gcc6 lang/gcc5 or lang/gcc8-devel using ports-mgmt/poudriere-devel on amd64 machine for i386 machine I get this strange error:

mv tmp-libgcc.map libgcc.map
# @multilib_flags@ is still needed because this may use
# /wrkdirs/usr/ports/lang/gcc6/work/.build/./gcc/xgcc -B/wrkdirs/usr/ports/lang/gcc6/work/.build/./gcc/ -B/usr/local/i386-portbld-freebsd10.4/bin/ -B/usr/local/i386-portbld-freebsd10.4/lib/ -isystem /usr/local/i386-portbld-freebsd10.4/include -isystem /usr/local/i386-portbld-freebsd10.4/sys-include    and -O2  -g -O2 -pipe -march=prescott  -DLIBICONV_PLUG -fno-strict-aliasing -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fpic -pthread -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  directly.
# @multilib_dir@ is not really necessary, but sometimes it has
# more uses than just a directory name.
/bin/sh /wrkdirs/usr/ports/lang/gcc6/work/gcc-6.4.0/libgcc/../mkinstalldirs .
/wrkdirs/usr/ports/lang/gcc6/work/.build/./gcc/xgcc -B/wrkdirs/usr/ports/lang/gcc6/work/.build/./gcc/ -B/usr/local/i386-portbld-freebsd10.4/bin/ -B/usr/local/i386-portbld-freebsd10.4/lib/ -isystem /usr/local/i386-portbld-freebsd10.4/include -isystem /usr/local/i386-portbld-freebsd10.4/sys-include    -O2  -g -O2 -pipe -march=prescott  -DLIBICONV_PLUG -fno-strict-aliasing -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fpic -pthread -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -g -O2 -pipe -march=prescott -DLIBICONV_PLUG -fno-strict-aliasing -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o cpuinfo_s.o tf-signs_s.o sfp-exceptions_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/local/bin/ld: /wrkdirs/usr/ports/lang/gcc6/work/.build/./gcc/liblto_plugin.so: error loading plugin: Service unavailable
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:950: libgcc_s.so] Error 1
gmake[4]: Leaving directory '/wrkdirs/usr/ports/lang/gcc6/work/.build/i386-portbld-freebsd10.4/libgcc'
gmake[3]: *** [Makefile:15223: all-stage1-target-libgcc] Error 2
gmake[3]: Leaving directory '/wrkdirs/usr/ports/lang/gcc6/work/.build'
gmake[2]: *** [Makefile:21516: stage1-bubble] Error 2
gmake[2]: Leaving directory '/wrkdirs/usr/ports/lang/gcc6/work/.build'
gmake[1]: *** [Makefile:21848: bootstrap-lean] Error 2
gmake[1]: Leaving directory '/wrkdirs/usr/ports/lang/gcc6/work/.build'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/gcc6


Not sure, who's bug is it. I can successfully build lang/gcc7 on either native machine (amd64 or i386) but on old i386 it takes ages and all dependent ports are not built also when using compilation of ports for it by poudriere-devel.
Comment 1 gja822 2018-05-07 11:48:05 UTC
It happened that the bug is triggered by option STATIC in devel/binutils port.