Bug 228015 - ports-mgmt/poudriere-devel can't crossbuild lang/gcc from amd64 to i386
Summary: ports-mgmt/poudriere-devel can't crossbuild lang/gcc from amd64 to i386
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Bryan Drewery
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-06 07:05 UTC by gja822
Modified: 2022-01-22 00:31 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.
Comment 2 Gerald Pfeifer freebsd_committer freebsd_triage 2022-01-22 00:31:32 UTC
(In reply to gja822 from comment #0)
> /usr/local/bin/ld: /wrkdirs/usr/ports/lang/gcc6/work/.build/./gcc
> /liblto_plugin.so: error loading plugin: Service unavailable

(In reply to gja822 from comment #1)
> It happened that the bug is triggered by option STATIC in
> devel/binutils port.

Ah, that is key information. I believe this means things are working
as designed since loading plugins cannot work in that case.

Ideally the other ports would recognize that binutils has been built
that way and issue an error message (or set IGNORE=...), alas that's
a bit too involved for our current infrastructure, and STATIC is not
a default for binutils.

Thank you for the report, and I'm sorry you did not get a response
earlier.