Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Sep 2017 13:29:40 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   head -r323676 and ports -r450478 audio/liba52 for arm.armv6 (cortex-a7): unresolvable R_ARM_MOVW_ABS_NC relocation against symbol `__stderrp@@FBSD_1.0'
Message-ID:  <B447FFA9-31C7-42FD-A42D-C0F5B969AD46@dsl-only.net>

next in thread | raw e-mail | index | archive | help
My prodriere amd64 -> armv6 (cortex-a7) cross build of
some ports based based on /usr/ports/ -r450478 and
head -r323676 got:

(cd . && ln -s parse.o parse.lo)
/bin/sh ../libtool --mode=3Dlink /nxb-bin/usr/bin/cc  -pipe =
-mcpu=3Dcortex-a7  -g -fno-strict-aliasing -O2 -pipe  =
-fomit-frame-pointer  -prefer-non-pic  -o liba52.la -rpath =
/usr/local/lib -no-undefined bitstream.lo imdct.lo bit_allocate.lo =
parse.lo downmix.lo -lm=20
rm -fr .libs/liba52.la .libs/liba52.* .libs/liba52.*
/nxb-bin/usr/bin/cc -shared  bitstream.lo imdct.lo bit_allocate.lo =
parse.lo downmix.lo  -lm  -Wl,-soname -Wl,liba52.so.0 -o =
.libs/liba52.so.0.0.0
/nxb-bin/usr/bin/ld: imdct.lo(.text+0x890): unresolvable =
R_ARM_MOVW_ABS_NC relocation against symbol `__stderrp@@FBSD_1.0'
/nxb-bin/usr/bin/ld: final link failed: Nonrepresentable section on =
output
cc: error: linker command failed with exit code 1 (use -v to see =
invocation)
gmake[2]: *** [Makefile:196: liba52.la] Error 1
gmake[2]: Leaving directory =
'/wrkdirs/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
gmake[1]: *** [Makefile:152: all-recursive] Error 1
gmake[1]: Leaving directory =
'/wrkdirs/usr/ports/audio/liba52/work/a52dec-0.7.4'
=3D=3D=3D> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=3Dyes and rebuild before reporting the =
failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/audio/liba52
=3D>> Cleaning up wrkdir
=3D=3D=3D>  Cleaning for liba52-0.7.4_3
build of audio/liba52 | liba52-0.7.4_3 ended at Sun Sep 24 02:28:37 PDT =
2017
build time: 00:01:15
!!! build failure encountered !!!


I was updating from an earlier version of /usr/ports
(-r449363 ?).

Note: audio/liba52 was indirectly built by something else
requiring it. Ultimately it traces back to my trying to
build x11/lumina explicitly and it in turn needing the
likes of audio/gstreamer1-plugins-a52dec via
multimedia/gstreamer1-plugins-core .

# uname -apKU
FreeBSD FreeBSDx64OPC 12.0-CURRENT FreeBSD 12.0-CURRENT  r323676M  amd64 =
amd64 1200044 1200044

# svnlite info /usr/ports/ | grep "Re[plv]"
Relative URL: ^/head
Repository Root: svn://svn.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 450478
Last Changed Rev: 450478

# diff /usr/local/etc/poudriere.conf =
/usr/local/etc/poudriere.conf.sample
13d12
< ZPOOL=3DzrFBSDx64C
31,32c30
< #FREEBSD_HOST=3D_PROTO_://_CHANGE_THIS_
< FREEBSD_HOST=3Dftp://ftp.freebsd.org
---
> FREEBSD_HOST=3D_PROTO_://_CHANGE_THIS_
168d165
< SAVE_WRKDIR=3Dyes
195d191
< ALLOW_MAKE_JOBS=3Dyes
201d196
< ALLOW_MAKE_JOBS_PACKAGES=3D"pkg ccache py* gcc* llvm* ghc* *webkit* =
*office* chromium* iridium* mongodb*"
258d252
< BUILDER_HOSTNAME=3DAzrFBSDx64CjailVariant
270d263
< BUILD_AS_NON_ROOT=3Dno

(Actually I changed the BUILDER_HOSTNAME since
the build.)


# more /usr/local/etc/poudriere.d/make.conf
WANT_QT_VERBOSE_CONFIGURE=3D1
#
DEFAULT_VERSIONS+=3Dperl5=3D5.24 gcc=3D7
#
# =46rom a local /usr/ports/Mk/bsd.port.mk extension:
ALLOW_OPTIMIZATIONS_FOR_WITH_DEBUG=3D
#
.if ${.CURDIR:M*/devel/llvm*}
#WITH_DEBUG=3D
.elif ${.CURDIR:M*/www/qt5-webkit*}
#WITH_DEBUG=3D
.else
WITH_DEBUG=3D
.endif
MALLOC_PRODUCTION=3D

# more /usr/local/etc/poudriere.d/zrFBSDx64CjailArmV7-make.conf
CFLAGS+=3D -mcpu=3Dcortex-a7
CXXFLAGS+=3D -mcpu=3Dcortex-a7
CPPFLAGS+=3D -mcpu=3Dcortex-a7

# svnlite status /usr/ports/=20
M       /usr/ports/Mk/bsd.port.mk
M       /usr/ports/base/gcc/Makefile
M       /usr/ports/base/gcc/distinfo
M       /usr/ports/base/gcc/pkg-plist
M       /usr/ports/devel/libunwind/Makefile
M       /usr/ports/sysutils/cdrdao/Makefile

(Yes: poudriere's build is based on that.)

# svnlite diff /usr/ports/Mk/bsd.port.mk
Index: /usr/ports/Mk/bsd.port.mk
=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=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=3D=3D=3D=3D=3D
--- /usr/ports/Mk/bsd.port.mk	(revision 450478)
+++ /usr/ports/Mk/bsd.port.mk	(working copy)
@@ -1130,12 +1130,12 @@
=20
 # Get the operating system type
 .if !defined(OPSYS)
-OPSYS!=3D	${UNAME} -s
+OPSYS!=3D	echo FreeBSD
 .endif
 _EXPORTED_VARS+=3D	OPSYS
=20
 .if !defined(_OSRELEASE)
-_OSRELEASE!=3D	${UNAME} -r
+_OSRELEASE!=3D	echo 12.0-CURRENT
 .endif
 _EXPORTED_VARS+=3D	_OSRELEASE
=20
@@ -1651,7 +1651,11 @@
 STRIP_CMD=3D	${TRUE}
 .endif
 DEBUG_FLAGS?=3D	-g
+.if defined(ALLOW_OPTIMIZATIONS_FOR_WITH_DEBUG)
+CFLAGS:=3D		${CFLAGS} ${DEBUG_FLAGS}
+.else
 CFLAGS:=3D		${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS}
+.endif
 .if defined(INSTALL_TARGET)
 INSTALL_TARGET:=3D	${INSTALL_TARGET:S/^install-strip$/install/g}
 .endif


(I've had problems with the ${UNAME} notation ending up with
empty string results. Thus my forcing the FreeBSD and
12.0-CURRENT that are listed. But the real point of the above
is the ALLOW_OPTIMIZATIONS_FOR_WITH_DEBUG use.)


The poudriere jail was built via:

poudriere jail -c -j zrFBSDx64CjailArmV7 -a arm.armv6 -x -m null -M =
/usr/obj/DESTDIRs/clang-armv7-installworld-poud -S /usr/src -v =
12.0-CURRENT

but in order to do this I've updated by adding
a build_native_xtools to an FCT assignment . . .

/usr/local/share/poudriere/jail.sh :

       null)
               JAILFS=3Dnone
               FCT=3Dbuild_native_xtools
               ;;

The bulk build was started with:

# poudriere bulk -j zrFBSDx64CjailArmV7 -w -f /root/armv7-origins.txt
[00:00:00] Cross-building ports for arm.armv6 on amd64 requires QEMU
[00:00:00] Creating the reference jail... done
[00:00:04] Mounting system devices for zrFBSDx64CjailArmV7-default
[00:00:04] Mounting ports/packages/distfiles
[00:00:04] Stashing existing package repository
[00:00:04] Mounting packages from: =
/usr/local/poudriere/data/packages/zrFBSDx64CjailArmV7-default
[00:00:04] Copying /var/db/ports from: =
/usr/local/etc/poudriere.d/options
[00:00:04] Setting up native-xtools environment in jail... done
[00:00:04] Raising MAX_EXECUTION_TIME and NOHANG_TIME for QEMU
[00:00:04] Copying latest version of the emulator from: =
/usr/local/bin/qemu-arm-static
[00:00:04] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf
[00:00:04] Appending to make.conf: =
/usr/local/etc/poudriere.d/zrFBSDx64CjailArmV7-make.conf
/etc/resolv.conf -> =
/usr/local/poudriere/data/.m/zrFBSDx64CjailArmV7-default/ref/etc/resolv.co=
nf
[00:00:04] Starting jail zrFBSDx64CjailArmV7-default
[00:00:04] Logs: =
/usr/local/poudriere/data/logs/bulk/zrFBSDx64CjailArmV7-default/2017-09-24=
_02h20m59s
[00:00:04] Loading MOVED
[00:00:04] Ports supports: DEPENDS_ARGS SELECTED_OPTIONS
[00:00:04] Gathering ports metadata
[00:00:06] Calculating ports order and dependencies
[00:00:06] Sanity checking the repository
[00:00:06] Checking packages for incremental rebuild needs
[00:00:08] Deleting stale symlinks... done
[00:00:08] Deleting empty directories... done
[00:00:08] Cleaning the build queue
[00:00:08] Sanity checking build queue
[00:00:08] Processing PRIORITY_BOOST
[00:00:08] Balancing pool
[00:00:08] Recording filesystem state for prepkg... done
[00:00:08] Building 146 packages using 14 builders
[00:00:08] Starting/Cloning builders
. . .

# more /root/armv7-origins.txt
archivers/unzip
archivers/zip
benchmarks/bonnie
benchmarks/bonnie++
benchmarks/iorate
benchmarks/iozone
benchmarks/randomio
devel/dwarfdump
devel/gdb
devel/git-lite
devel/kyua
devel/patch
devel/xtoolchain-llvm50
ftp/wget
lang/gcc7
net/rsync
ports-mgmt/bsdadminscripts2
ports-mgmt/pkg
ports-mgmt/portlint
ports-mgmt/portmaster
ports-mgmt/poudriere-devel
security/sudo
sysutils/DTraceToolkit
sysutils/bsdadminscripts
sysutils/stress
sysutils/u-boot-rpi2
sysutils/u-boot-sinovoip-bpi-m3
x11/lumina
x11/xorg-minimal
x11/xterm




=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B447FFA9-31C7-42FD-A42D-C0F5B969AD46>