Date: Sun, 31 May 2020 21:05:36 -0700 From: Mark Millard <marklmi@yahoo.com> To: bob prohaska <fbsd@www.zefox.net> Cc: freebsd-ports@freebsd.org, freebsd-arm@freebsd.org Subject: Re: 'asm/hwcap.h' file not found building chromium on Pi3 Message-ID: <F7504ADF-C2B3-4C59-BB59-17A72CEE4722@yahoo.com> In-Reply-To: <20200601022208.GA15761@www.zefox.net> References: <20200601022208.GA15761@www.zefox.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2020-May-31, at 19:22, bob prohaska <fbsd@www.zefox.net> wrote: > Made another attempt to compile www/chromium on a Pi3B, this time = using > a mechanical hard disk for all storage (and boot). It stopped with >=20 > ../../third_party/zlib/cpu_features.c:32:10: fatal error: = 'asm/hwcap.h' file not found > #include <asm/hwcap.h> > ^~~~~~~~~~~~~ > 1 error generated. >=20 > Ports are at Revision: 537041, uname -a reports 12.1-STABLE r361429=20 > GENERIC arm64. All make commands used -DBATCH. Warning: I did not version match to -r537041 so this is only suggestive unless confirmed. But I do not keep referencing that status below. Not that it solves the problem, but some context indicates that it is likely a problem with the port (since chromium of itself does not support FreeBSD) . . . =46rom the cpu_features.c source: #if defined(ARMV8_OS_ANDROID) #include <cpu-features.h> #elif defined(ARMV8_OS_LINUX) #include <asm/hwcap.h> #include <sys/auxv.h> #elif defined(ARMV8_OS_FUCHSIA) #include <zircon/features.h> #include <zircon/syscalls.h> #include <zircon/types.h> #elif defined(ARMV8_OS_WINDOWS) || defined(X86_WINDOWS) #include <windows.h> #elif !defined(_MSC_VER) #include <pthread.h> #else #error cpu_features.c CPU feature detection in not defined for your = platform #endif So your build has ARMV8_OS_LINUX defined and also tried to build based in part on: third_party/zlib/cpu_features.c A grep -r shows all the references to ARMV8_OS_LINUX are under third_party/zlib/ . ARMV8_OS_LINUX is from the third_party/zlib/BUILD.gn code: . . . if (use_arm_neon_optimizations) { config("zlib_arm_crc32_config") { # Disabled for iPhone, as described in DDI0487C_a_armv8_arm: # "All implementations of the ARMv8.1 architecture are required to # implement the CRC32* instructions. These are optional in = ARMv8.0." if (!is_ios) { defines =3D [ "CRC32_ARMV8_CRC32" ] if (is_android) { defines +=3D [ "ARMV8_OS_ANDROID" ] } else if (is_linux || is_chromeos) { defines +=3D [ "ARMV8_OS_LINUX" ] } else if (is_fuchsia) { . . . is_linux seems to in turn be from: chromium-*/build/config/BUILDCONFIG.gn and its: is_linux =3D current_os =3D=3D "chromeos" || current_os =3D=3D "linux" = || current_os =3D=3D "freebsd" The freebsd reference here (and elsewhere in that file) are from the port's patching activity. chromium does not seem to support FreeBSD of itself so it seems the problem would be considered to be in the port instead. I've no clue what a proper alternative would be for third_party/zlib/cpu_features.c to use in a FreeBSD context. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F7504ADF-C2B3-4C59-BB59-17A72CEE4722>