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

From: Jesper Schmitz Mouridsen <jsm_at_FreeBSD.org>
Date: Thu, 10 Feb 2022 08:05:18 UTC
On 10.02.2022 08.48, KIRIYAMA Kazuhiko wrote:
> 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>
> 
Please see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261508
/jsm