Re: audio/jack does not compile under ARM/aarch64

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Mon, 07 Feb 2022 19:37:28 UTC
On 2/7/22 19:20, José Pérez wrote:
> Hi,
> audio/jack does not compile under ARM/aarch64 and outputs:
> 
> 19:13:23 runner ['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../../../../../../local/include/opus', 
> '-I../../../../../../local/include', 
> '-I../../../../../../local/include/dbus-1.0', 
> '-I../../../../../../local/lib/dbus-1.0/include', '-DEXECINFO=1', 
> '-DHAVE_LIBSYSINFO=1', '-DHAVE_DOXYGEN=0', '-DHAVE_ALSA=1', 
> '-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', '../posix/JackSocketServerNotifyChannel.cpp', '-c', 
> '-o/usr/ports/audio/jack/work/jack2-1.9.20/build/posix/JackSocketServerNotifyChannel.cpp.2.o', 
> '-I/usr/local/include']
> In file included from ../common/JackTransportEngine.cpp:24:
> ../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;
>      ^
> 
> There is a mention to a similar issue under powerpc and powerpc64, but 
> there is no indication on how to solve it.
> 
> Can someone point me toward a solution?
> 

I'm not sure where this structure is used, but alignas(UInt32) -> 
alignas(UInt64) will likely fix this. Should be reported upstream!

--HPS