devel/llvm40 and llvm50 builds vs. powerpc (32-bit) FreeBSD: "Host compiler appears to require libatomic, but cannot find it."

Mark Millard markmi at dsl-only.net
Tue Oct 3 00:28:59 UTC 2017


This is a system where world was built with system clang 5
and there is no gcc 4.2.1 installed: only the system-clang
are on the old PowerMacs I'm testing on. The building of
ports was via poudriere and system clang.

Even with the lldb build, the lld build, the LIT build, the
Extras build, and the Docs build disabled the below happens
for 32-bit powerpc --on both devel/llvm40 and devel/llvm50 .

Note that the system-clang-5 builds fine, despite lack
of 64-bit atomics, including building WITH_CLANG_FULL=
and WITH_CLANG_EXTRAS= . Building devel/llvm40 and
devel/llvm50 works fine targeting powerpc64 instead
of 32-bit powerpc.

As for 32-bit powerpc goes. . .

I would expect lldb to need to be disabled. Possibly
lld as well. (Also, neither would work if they built
as I understand.) Extras might be a mix of things that
could be built and things that can not for 32-bit
powerpc --but might all be buildable? Doc should
probably be fine to build.


The problem ( devel/llvm40 example):


. . .
---Begin OPTIONS List---
===> The following configuration options are available for llvm40-4.0.1_1:
     CLANG=on: Build clang
     DOCS=off: Build and/or install documentation
     EXTRAS=off: Extra clang tools
     LIT=off: Install lit and FileCheck test tools
     LLD=off: Install lld, the LLVM linker
     LLDB=off: Install lldb, the LLVM debugger
===> Use 'make config' to modify these settings
---End OPTIONS List---
. . .
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - not found
CMake Error at cmake/modules/CheckAtomic.cmake:74 (message):
  Host compiler appears to require libatomic, but cannot find it.
Call Stack (most recent call first):
  cmake/config-ix.cmake:307 (include)
  CMakeLists.txt:582 (include)


-- Configuring incomplete, errors occurred!
See also "/wrkdirs/usr/ports/devel/llvm40/work/.build/CMakeFiles/CMakeOutput.log".
See also "/wrkdirs/usr/ports/devel/llvm40/work/.build/CMakeFiles/CMakeError.log".
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/llvm40
=>> Cleaning up wrkdir
===>  Cleaning for llvm40-4.0.1_1
build of devel/llvm40 | llvm40-4.0.1_1 ended at Mon Oct  2 17:16:35 PDT 2017
build time: 00:05:14
!!! build failure encountered !!!

Context details:

# uname -apKU
FreeBSD FBSDG4S 12.0-CURRENT FreeBSD 12.0-CURRENT  r324071M  powerpc powerpc 1200047 1200047

# cc --version
FreeBSD clang version 5.0.0 (tags/RELEASE_500/final 312559) (based on LLVM 5.0.0svn)
Target: powerpc-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin

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

# more ~/src.configs/src.conf.powerpc-clang-bootstrap.amd64-host 
TO_TYPE=powerpc
#
KERNCONF=GENERICvtsc-NODBG
TARGET=${TO_TYPE}
.if ${.MAKE.LEVEL} == 0
TARGET_ARCH=${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_CROSS_COMPILER=
WITHOUT_SYSTEM_COMPILER=
#
WITH_LIBCPLUSPLUS=
WITH_BINUTILS_BOOTSTRAP=
WITH_ELFTOOLCHAIN_BOOTSTRAP=
WITH_CLANG_BOOTSTRAP=
WITH_CLANG=
WITH_CLANG_IS_CC=
WITH_CLANG_FULL=
WITH_CLANG_EXTRAS=
WITHOUT_LLD=
# lldb requires missing atomic 8-byte operations for powerpc (non-64)
WITHOUT_LLDB=
#
WITH_BOOT=
WITHOUT_LIB32=
#
WITHOUT_GCC_BOOTSTRAP=
WITHOUT_GCC=
WITHOUT_GCC_IS_CC=
WITHOUT_GNUCXX=
#
NO_WERROR=
#
# Use WERROR to avoid stopping at the likes of:
# error: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes value from 128 to -128 [-Werror,-Wconstant-conversion]
WERROR=
MALLOC_PRODUCTION=
#
WITH_REPRODUCIBLE_BUILD=
WITH_DEBUG_FILES=

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



More information about the freebsd-ports mailing list