Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jun 2017 11:02:58 +0000
From:      bugzilla-noreply@freebsd.org
To:        pkg@FreeBSD.org
Subject:   [Bug 218888] ports-mgmt/pkg: build fails on arm64.aarch64 in qemu-user-static: error: C compiler cannot create executables
Message-ID:  <bug-218888-32340-lag3BmlR6t@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-218888-32340@https.bugs.freebsd.org/bugzilla/>
References:  <bug-218888-32340@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D218888

--- Comment #14 from O. Hartmann <ohartmann@walstatt.org> ---
Just for the record. The latest reports are with:

Poudriere version: 3.1.19
Host OSVERSION: 1200034
Jail OSVERSION: 1200034

My buildworld environment for crosscompiling AARCH64 on AMD64 host has been
made clear a bit.

For the buildworld procedure with sources and obj tree located as described
prior to this comment, the controlling variables for src.conf, src-env.conf=
 and
make.conf have been normalized to meet special requirements (in the future);
they point to files localted in

/usr/local/etc/poudriere.d/

as

head-arm64-make.conf
head-arm64-src.conf
head-arm64-src-env.conf (I think this is not used by poudriere anyway)

Since poudriere picks up src.conf/make.conf located in this base folder and
merges them hierachically according to jail, ports-tree instance and set, t=
he
basic files contain nothing but the standards and the jail-specific files, =
i.e.
head-arm64-src.conf, would contain specific settings.

Those files in /usr/local/etc/poudriere.d/ are now also set by
head-arm64-poudriere.conf:

export  MAKEOBJDIRPREFIX=3D/pool/sources/CURRENT-jail/obj
export  __MAKE_CONF=3D/usr/local/etc/poudriere.d/head-arm64-make.conf
export  SRCCONF=3D/usr/local/etc/poudriere.d/head-arm64-src.conf
export  SRC_ENV_CONF=3D/usr/local/etc/poudriere.d/head-arm64-src-env.conf

So far. Compiling the crossworld aarch64 seems to run smoothly, I can insta=
ll
the jail successfully on the poudriere host.

But now, instead of a compiler complain breaking the build of port-mgmt/pkg=
, I
receive a "simple" failed fetch error:

[...]
[00:13:35] =3D=3D=3D=3D>> [01][00:00:00] Starting build of ports-mgmt/pkg
[00:13:44] =3D=3D=3D=3D>> [01][00:00:09] Finished build of ports-mgmt/pkg: =
Failed:
fetch
[...]

The appropriate log entry is:

[...]
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<phase=
: fetch          >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D>  License BSD2CLAUSE accepted by the user
=3D> pkg-1.10.1.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
=3D> /usr/ports/distfiles/ is not writable by you; cannot fetch.
*** Error code 1
[...]

Investigating the seetings of special environment variables and comparing t=
hem
to a successful run of a poudriere run on amd64, I found this difference:

[AMD64 - log of failed compilation of ccl]

--CONFIGURE_ENV--
XDG_DATA_HOME=3D/wrkdirs/usr/ports/lang/ccl/work=20
XDG_CONFIG_HOME=3D/wrkdirs/usr/ports/lang/ccl/work=20
HOME=3D/wrkdirs/usr/ports/lang/ccl/work TMPDIR=3D"/tmp" SHELL=3D/bin/sh
CONFIG_SHELL=3D/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=3D/wrkdirs/usr/ports/lang/ccl/work=20
XDG_CONFIG_HOME=3D/wrkdirs/usr/ports/lang/ccl/work=20
HOME=3D/wrkdirs/usr/ports/lang/ccl/work TMPDIR=3D"/tmp" NO_PIE=3Dyes
MK_DEBUG_FILES=3Dno MK_KERNEL_SYMBOLS=3Dno SHELL=3D/bin/sh NO_LINT=3DYES
PREFIX=3D/usr/local  LOCALBASE=3D/usr/local  LIBDIR=3D"/usr/lib"  CC=3D"cc"=
 CFLAGS=3D"-O2
-pipe -O3  -fstack-protector -fno-strict-aliasing"  CPP=3D"cpp" CPPFLAGS=3D=
""=20
LDFLAGS=3D" -fstack-protector" LIBS=3D""  CXX=3D"c++" CXXFLAGS=3D"-O2 -pipe=
 -O3
-fstack-protector -fno-strict-aliasing "  MANPREFIX=3D"/usr/local"
BSD_INSTALL_PROGRAM=3D"install  -s -m 555"  BSD_INSTALL_LIB=3D"install  -s =
-m 0644"
 BSD_INSTALL_SCRIPT=3D"install  -m 555"  BSD_INSTALL_DATA=3D"install  -m 06=
44"=20
BSD_INSTALL_MAN=3D"install  -m 444"
--End MAKE_ENV--
[...]

and this one on=20

[AARCH64 - log of failed fetch of pkg]

--CONFIGURE_ENV--
XDG_DATA_HOME=3D/usr/ports/ports-mgmt/pkg/work=20
XDG_CONFIG_HOME=3D/usr/ports/ports-mgmt/pkg/work=20
HOME=3D/usr/ports/ports-mgmt/pkg/work SHELL=3D/bin/sh CONFIG_SHELL=3D/bin/sh
CONFIG_SITE=3D/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=3D2621=
44
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=3D/usr/ports/ports-mgmt/pkg/work=20
XDG_CONFIG_HOME=3D/usr/ports/ports-mgmt/pkg/work=20
HOME=3D/usr/ports/ports-mgmt/pkg/work NO_PIE=3Dyes MK_DEBUG_FILES=3Dno
MK_KERNEL_SYMBOLS=3Dno SHELL=3D/bin/sh NO_LINT=3DYES PREFIX=3D/usr/local=20
LOCALBASE=3D/usr/local  LIBDIR=3D"/usr/lib"  CC=3D"cc" CFLAGS=3D"-O2 -pipe =
 -Wno-error
-fno-strict-aliasing"  CPP=3D"cpp" CPPFLAGS=3D""  LDFLAGS=3D"" LIBS=3D""  C=
XX=3D"c++"
CXXFLAGS=3D"-O2 -pipe -Wno-error -fno-strict-aliasing "  MANPREFIX=3D"/usr/=
local"
BSD_INSTALL_PROGRAM=3D"install  -s -m 555"  BSD_INSTALL_LIB=3D"install  -s =
-m 0644"
 BSD_INSTALL_SCRIPT=3D"install  -m 555"  BSD_INSTALL_DATA=3D"install  -m 06=
44"=20
BSD_INSTALL_MAN=3D"install  -m 444"
--End MAKE_ENV--
[...]

The paths in XDG_DATA_HOME are all correctly prepended by "/wrkdirs" on AMD=
64,
but not on AARCH64/ARM64.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-218888-32340-lag3BmlR6t>