[Bug 218888] ports-mgmt/pkg: build fails on arm64.aarch64 in qemu-user-static: error: C compiler cannot create executables
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jun 22 11:02:58 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218888
--- Comment #14 from O. Hartmann <ohartmann at 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, the
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=/pool/sources/CURRENT-jail/obj
export __MAKE_CONF=/usr/local/etc/poudriere.d/head-arm64-make.conf
export SRCCONF=/usr/local/etc/poudriere.d/head-arm64-src.conf
export SRC_ENV_CONF=/usr/local/etc/poudriere.d/head-arm64-src-env.conf
So far. Compiling the crossworld aarch64 seems to run smoothly, I can install
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] ====>> [01][00:00:00] Starting build of ports-mgmt/pkg
[00:13:44] ====>> [01][00:00:09] Finished build of ports-mgmt/pkg: Failed:
fetch
[...]
The appropriate log entry is:
[...]
=======================<phase: fetch >============================
===> License BSD2CLAUSE accepted by the user
=> pkg-1.10.1.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
=> /usr/ports/distfiles/ is not writable by you; cannot fetch.
*** Error code 1
[...]
Investigating the seetings of special environment variables and comparing them
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=/wrkdirs/usr/ports/lang/ccl/work
XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/ccl/work
HOME=/wrkdirs/usr/ports/lang/ccl/work TMPDIR="/tmp" SHELL=/bin/sh
CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--
--MAKE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/lang/ccl/work
XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/ccl/work
HOME=/wrkdirs/usr/ports/lang/ccl/work TMPDIR="/tmp" NO_PIE=yes
MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES
PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="cc" CFLAGS="-O2
-pipe -O3 -fstack-protector -fno-strict-aliasing" CPP="cpp" CPPFLAGS=""
LDFLAGS=" -fstack-protector" LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -O3
-fstack-protector -fno-strict-aliasing " MANPREFIX="/usr/local"
BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644"
BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644"
BSD_INSTALL_MAN="install -m 444"
--End MAKE_ENV--
[...]
and this one on
[AARCH64 - log of failed fetch of pkg]
--CONFIGURE_ENV--
XDG_DATA_HOME=/usr/ports/ports-mgmt/pkg/work
XDG_CONFIG_HOME=/usr/ports/ports-mgmt/pkg/work
HOME=/usr/ports/ports-mgmt/pkg/work SHELL=/bin/sh CONFIG_SHELL=/bin/sh
CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=262144
--End CONFIGURE_ENV--
--MAKE_ENV--
XDG_DATA_HOME=/usr/ports/ports-mgmt/pkg/work
XDG_CONFIG_HOME=/usr/ports/ports-mgmt/pkg/work
HOME=/usr/ports/ports-mgmt/pkg/work NO_PIE=yes MK_DEBUG_FILES=no
MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local
LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="cc" CFLAGS="-O2 -pipe -Wno-error
-fno-strict-aliasing" CPP="cpp" CPPFLAGS="" LDFLAGS="" LIBS="" CXX="c++"
CXXFLAGS="-O2 -pipe -Wno-error -fno-strict-aliasing " MANPREFIX="/usr/local"
BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644"
BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644"
BSD_INSTALL_MAN="install -m 444"
--End MAKE_ENV--
[...]
The paths in XDG_DATA_HOME are all correctly prepended by "/wrkdirs" on AMD64,
but not on AARCH64/ARM64.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-pkg
mailing list