Can't build audio/jack in arm64/aarch64 on PBP

From: KIRIYAMA Kazuhiko <kiri_at_truefc.org>
Date: Thu, 10 Feb 2022 07:48:25 UTC
Hi, lists

I've tried to build arm64/aarch64 packages on Pinebook Pro
(PBP). audio/jack failed to build at build/common/memops.c :

2 errors generated.

In file included from ../common/JackDebugClient.cpp:21:
../common/JackEngineControl.h:67:5: error: requested alignment is less than minimum alignment of 8 for type 'Jack::JackTransportEngine'
    alignas(UInt32) JackTransportEngine fTransport;
    ^
../common/JackEngineControl.h:89:5: error: requested alignment is less than minimum alignment of 8 for type 'Jack::JackFrameTimer'
    alignas(UInt32) JackFrameTimer fFrameTimer;
    ^
2 errors generated.

* Node /var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20/build/common/memops.c.7.o is created more than once (full message on 'waf -v -v'). The task generators are:
  1. 'audioadapter' in /var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20/common
  2. 'oss' in /var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20
If you think that this is an error, set no_errcheck_out on the task instance
Waf: Leaving directory `/var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20/build'
Build failed
 -> task in 'serverlib' failed with exit status 1: 
	{task 2825605856: cxx JackTransportEngine.cpp -> JackTransportEngine.cpp.2.o}
['c++', '-O2', '-pipe', '-fPIC', '-fstack-protector-strong', '-fno-strict-aliasing', '-Wall', '-Wno-invalid-offsetof', '-std=gnu++11', '-fPIC', '-Ifreebsd', '-I../freebsd', '-Iposix', '-I../posix', '-Icommon', '-I../common', '-Icommon/jack', '-I../common/jack', '-I.', '-I..', '-I../compat/alloca', '-I/usr/local/include/opus', '-I/usr/local/include', '-I/usr/local/include/dbus-1.0', '-I/usr/local/lib/dbus-1.0/include', '-DEXECINFO=1', '-DHAVE_LIBSYSINFO=1', '-DHAVE_DOXYGEN=0', '-DHAVE_ALSA=0', '-DHAVE_FIREWIRE=0', '-DHAVE_IIO=0', '-DHAVE_PORTAUDIO=0', '-DHAVE_WINMME=0', '-DHAVE_CELT=0', '-DHAVE_EXAMPLE_TOOLS=0', '-DHAVE_OPUS_OPUS_CUSTOM_H=1', '-DHAVE_OPUS_PKG=1', '-DHAVE_OPUS=1', '-DHAVE_SAMPLERATE=1', '-DHAVE_SNDFILE=0', '-DHAVE_READLINE=0', '-DHAVE_SYSTEMD=0', '-DHAVE_DB_H=1', '-DHAVE_DB=0', '-DHAVE_ZALSA=0', '-DHAVE_PPOLL=1', '-DHAVE_EXECINFO_H=1', '-DJACK_VERSION="[]"', '-DHAVE_DBUS_1=1', '-DHAVE_EXPAT=1', '-DUSE_LIBDBUS_AUTOLAUNCH=1', '-DCLIENT_NUM=256', '-DPORT_NUM_FOR_!
 CLIENT=2048', '-DADDON_DIR="/usr/local/lib/jack"', '-DJACK_LOCATION="/usr/local/bin"', '-DUSE_POSIX_SHM=1', '-DJACKMP=1', '-DJACK_DBUS=1', '-DHAVE_CONFIG_H', '-DSERVER_SIDE', '../common/JackTransportEngine.cpp', '-c', '-o/var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20/build/common/JackTransportEngine.cpp.2.o', '-I/usr/local/include']
 -> task in 'serverlib' failed with exit status 1: 
	{task 2825606192: cxx JackEngineProfiling.cpp -> JackEngineProfiling.cpp.2.o}
['c++', '-O2', '-pipe', '-fPIC', '-fstack-protector-strong', '-fno-strict-aliasing', '-Wall', '-Wno-invalid-offsetof', '-std=gnu++11', '-fPIC', '-Ifreebsd', '-I../freebsd', '-Iposix', '-I../posix', '-Icommon', '-I../common', '-Icommon/jack', '-I../common/jack', '-I.', '-I..', '-I../compat/alloca', '-I/usr/local/include/opus', '-I/usr/local/include', '-I/usr/local/include/dbus-1.0', '-I/usr/local/lib/dbus-1.0/include', '-DEXECINFO=1', '-DHAVE_LIBSYSINFO=1', '-DHAVE_DOXYGEN=0', '-DHAVE_ALSA=0', '-DHAVE_FIREWIRE=0', '-DHAVE_IIO=0', '-DHAVE_PORTAUDIO=0', '-DHAVE_WINMME=0', '-DHAVE_CELT=0', '-DHAVE_EXAMPLE_TOOLS=0', '-DHAVE_OPUS_OPUS_CUSTOM_H=1', '-DHAVE_OPUS_PKG=1', '-DHAVE_OPUS=1', '-DHAVE_SAMPLERATE=1', '-DHAVE_SNDFILE=0', '-DHAVE_READLINE=0', '-DHAVE_SYSTEMD=0', '-DHAVE_DB_H=1', '-DHAVE_DB=0', '-DHAVE_ZALSA=0', '-DHAVE_PPOLL=1', '-DHAVE_EXECINFO_H=1', '-DJACK_VERSION="[]"', '-DHAVE_DBUS_1=1', '-DHAVE_EXPAT=1', '-DUSE_LIBDBUS_AUTOLAUNCH=1', '-DCLIENT_NUM=256', '-DPORT_NUM_FOR_!
 CLIENT=2048', '-DADDON_DIR="/usr/local/lib/jack"', '-DJACK_LOCATION="/usr/local/bin"', '-DUSE_POSIX_SHM=1', '-DJACKMP=1', '-DJACK_DBUS=1', '-DHAVE_CONFIG_H', '-DSERVER_SIDE', '../common/JackEngineProfiling.cpp', '-c', '-o/var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20/build/common/JackEngineProfiling.cpp.2.o', '-I/usr/local/include']
 -> task in 'serverlib' failed with exit status 1: 
	{task 2825606304: cxx JackDebugClient.cpp -> JackDebugClient.cpp.2.o}
['c++', '-O2', '-pipe', '-fPIC', '-fstack-protector-strong', '-fno-strict-aliasing', '-Wall', '-Wno-invalid-offsetof', '-std=gnu++11', '-fPIC', '-Ifreebsd', '-I../freebsd', '-Iposix', '-I../posix', '-Icommon', '-I../common', '-Icommon/jack', '-I../common/jack', '-I.', '-I..', '-I../compat/alloca', '-I/usr/local/include/opus', '-I/usr/local/include', '-I/usr/local/include/dbus-1.0', '-I/usr/local/lib/dbus-1.0/include', '-DEXECINFO=1', '-DHAVE_LIBSYSINFO=1', '-DHAVE_DOXYGEN=0', '-DHAVE_ALSA=0', '-DHAVE_FIREWIRE=0', '-DHAVE_IIO=0', '-DHAVE_PORTAUDIO=0', '-DHAVE_WINMME=0', '-DHAVE_CELT=0', '-DHAVE_EXAMPLE_TOOLS=0', '-DHAVE_OPUS_OPUS_CUSTOM_H=1', '-DHAVE_OPUS_PKG=1', '-DHAVE_OPUS=1', '-DHAVE_SAMPLERATE=1', '-DHAVE_SNDFILE=0', '-DHAVE_READLINE=0', '-DHAVE_SYSTEMD=0', '-DHAVE_DB_H=1', '-DHAVE_DB=0', '-DHAVE_ZALSA=0', '-DHAVE_PPOLL=1', '-DHAVE_EXECINFO_H=1', '-DJACK_VERSION="[]"', '-DHAVE_DBUS_1=1', '-DHAVE_EXPAT=1', '-DUSE_LIBDBUS_AUTOLAUNCH=1', '-DCLIENT_NUM=256', '-DPORT_NUM_FOR_!
 CLIENT=2048', '-DADDON_DIR="/usr/local/lib/jack"', '-DJACK_LOCATION="/usr/local/bin"', '-DUSE_POSIX_SHM=1', '-DJACKMP=1', '-DJACK_DBUS=1', '-DHAVE_CONFIG_H', '-DSERVER_SIDE', '../common/JackDebugClient.cpp', '-c', '-o/var/ports/work/usr/ports/audio/jack/work/jack2-1.9.20/build/common/JackDebugClient.cpp.2.o', '-I/usr/local/include']
===> 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/audio/jack


Is there any suggetions ?

My package build machine environments are as follows :

Ports branch is 47d8fb3af3f0 and others are :

admin@kazu:~ % uname -a
FreeBSD kazu.tfc 14.0-CURRENT FreeBSD 14.0-CURRENT #0 n252641-3f106af0cd92-dirty: Wed Jan 26 22:41:41 JST 2022     root@tbedfc:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC-DRM  arm64
admin@kazu:~ % df -h
Filesystem                                                                         Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0p3                                                                       82G     15G     61G    19%    /
devfs                                                                              1.0K    1.0K      0B   100%    /dev
tmpfs                                                                               34G    4.0K     34G     0%    /tmp
linprocfs                                                                          4.0K    4.0K      0B   100%    /compat/linux/proc
tmpfs                                                                               34G    4.0K     34G     0%    /compat/linux/dev/shm
linsysfs                                                                           4.0K    4.0K      0B   100%    /compat/linux/sys
devfs                                                                              1.0K    1.0K      0B   100%    /compat/linux/dev
fdescfs                                                                            1.0K    1.0K      0B   100%    /compat/linux/dev/fd
192.168.1.17:/.dake                                                                 12T    973G     11T     8%    /.dake
192.168.1.17:/ds/src/freebsd/current/14.0/3f106af0cd92.generic_drm                  11T     81G     11T     1%    /usr/src
192.168.1.17:/ds/obj/freebsd/current/14.0/3f106af0cd92.generic_drm                  11T    442G     11T     4%    /usr/obj
192.168.1.17:/ds/ports/freebsd/47d8fb3af3f0                                         11T    111G     11T     1%    /usr/ports
192.168.1.17:/ds/distfiles                                                          11T     54G     11T     0%    /var/ports/distfiles
192.168.1.17:/ds/packages/freebsd/arm64/aarch64/14.0C/3f106af0cd92/47d8fb3af3f0     11T    117G     11T     1%    /var/ports/packages
admin@kazu:~ % uname -a
FreeBSD kazu.tfc 14.0-CURRENT FreeBSD 14.0-CURRENT #0 n252641-3f106af0cd92-dirty: Wed Jan 26 22:41:41 JST 2022     root@tbedfc:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC-DRM  arm64
admin@kazu:~ % df -h
Filesystem                                                                         Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0p3                                                                       82G     15G     61G    19%    /
devfs                                                                              1.0K    1.0K      0B   100%    /dev
tmpfs                                                                               34G    4.0K     34G     0%    /tmp
linprocfs                                                                          4.0K    4.0K      0B   100%    /compat/linux/proc
tmpfs                                                                               34G    4.0K     34G     0%    /compat/linux/dev/shm
linsysfs                                                                           4.0K    4.0K      0B   100%    /compat/linux/sys
devfs                                                                              1.0K    1.0K      0B   100%    /compat/linux/dev
fdescfs                                                                            1.0K    1.0K      0B   100%    /compat/linux/dev/fd
192.168.1.17:/.dake                                                                 12T    973G     11T     8%    /.dake
192.168.1.17:/ds/src/freebsd/current/14.0/3f106af0cd92.generic_drm                  11T     81G     11T     1%    /usr/src
192.168.1.17:/ds/obj/freebsd/current/14.0/3f106af0cd92.generic_drm                  11T    442G     11T     4%    /usr/obj
192.168.1.17:/ds/ports/freebsd/47d8fb3af3f0                                         11T    111G     11T     1%    /usr/ports
192.168.1.17:/ds/distfiles                                                          11T     54G     11T     0%    /var/ports/distfiles
192.168.1.17:/ds/packages/freebsd/arm64/aarch64/14.0C/3f106af0cd92/47d8fb3af3f0     11T    117G     11T     1%    /var/ports/packages
admin@kazu:~ % cat /etc/make.conf
PORTSDIR=               /var/ports/lpbpkx
INDEXDIR=               /var/ports/lpbpkx
WRKDIRPREFIX=           /var/ports/work
PACKAGES=               /var/ports/packages
DISTDIR=                /var/ports/distfiles
BATCH=                  yes
DEFAULT_VERSIONS=       perl5=5.34 ruby=2.7 java=12
COMPILER_TYPE=          clang
USE_PACKAGE_DEPENDS=    yes
DISABLE_VULNERABILITIES=yes
admin@kazu:~ % 

GENERIC-DRM kernel was built by `git subtree add' to 14.0-CURRENT
(e35816c1c909) for Panfrost driver [1] :

First `git subtree add' to 14.0-CURRENT (e35816c1c909) in src server :

root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git checkout e35816c1c909
HEAD is now at e35816c1c909 aw_spi: improve I/O stability
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git remote add drm-subtree https://github.com/jsm222/drm-subtree.git
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git subtree add --prefix sys/dev/drm/ drm-subtree pinebookpro-test
git fetch drm-subtree pinebookpro-test
remote: Enumerating objects: 794, done.
remote: Counting objects: 100% (794/794), done.
remote: Compressing objects: 100% (518/518), done.
remote: Total 794 (delta 370), reused 685 (delta 264), pack-reused 0
Receiving objects: 100% (794/794), 1.14 MiB | 5.09 MiB/s, done.
Resolving deltas: 100% (370/370), done.
 From https://github.com/jsm222/drm-subtree
  * branch                      pinebookpro-test -> FETCH_HEAD
  * [new branch]                pinebookpro-test -> drm-subtree/pinebookpro-test
Added dir 'sys/dev/drm'
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/extra_patches/0001-Hook-DRM-to-the-build.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/extra_patches/0002-Add-GENERIC-DRM-for-armv7.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/extra_patches/0003-drm-Add-rockchip-and-bridges-into-GENERIC-DRM.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/gicv3_its.c-patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/mixer.c.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/sys_dev_iicbus_es8316.c
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/GENERIC-DRM.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/sys_modules_dtb_rockchip_Makefile.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/mmc.c.patch
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # git rev-parse --verify --short HEAD
3f106af0cd92
root@vm:/ds/src/freebsd/current/14.0/e35816c1c909.generic_drm # cd ..
root@vm:/ds/src/freebsd/current/14.0 # mv e35816c1c909.generic_drm 3f106af0cd92.generic_drm

and then build GENERIC-DRM in PBP :
  
# cd /usr/src
# make buildworld TARGET=arm64
# make buildkernel TARGET=arm64 KERNCONF=GENERIC-DRM

Best regards

[1] https://github.com/jsm222/drm-subtree
---
Kazuhiko Kiriyama <kiri@truefc.org>