Hi,

To save time on my Raspberry Pi I would like to build FreeBSD using a llvm pkg 
instead of llvm in the tree.

My /etc/make.conf:
WITHOUT_TOOLCHAIN=yes
LD=/usr/local/llvm16/bin/ld.lld
CC=/usr/local/llvm16/bin/clang
CXX=/usr/local/llvm16/bin/clang++
CPP=/usr/local/llvm16/bin/clang-cpp
OBJCOPY=/usr/local/llvm16/bin/llvm-objcopy

#WITHOUT_CLEAN=yes


This fails in:

/usr/local/llvm16/bin/clang++ -O2 -pipe -fno-common -fPIE 
-Wno-format-zero-length -nobuiltininc -idirafter 
/usr/local/llvm16/lib/clang/16/include -fstack-protector-strong 
-Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter 
-Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow 
-Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time 
-Wmissing-variable-declarations -Wno-empty-body -Wno-string-plus-int 
-Wno-unused-const-variable -Wno-error=unused-but-set-parameter -O0 -g0 
-Qunused-arguments -I/usr/obj/usr/src/amd64.amd64/tmp/usr/include/private 
-I/usr/src/contrib/googletest/googlemock/include 
-I/usr/src/contrib/googletest/googlemock 
-I/usr/src/contrib/googletest/googletest/include 
-I/usr/src/contrib/googletest/googletest 
-I/usr/obj/usr/src/amd64.amd64/tmp/usr/include/private -DGTEST_HAS_POSIX_RE=1 
-DGTEST_HAS_PTHREAD=1 -DGTEST_HAS_STREAM_REDIRECTION=1 -frtti 
-Wno-deprecated-copy -Wno-signed-unsigned-wchar -DGTEST_HAS_POSIX_RE=1 
-DGTEST_HAS_PTHREAD=1 -DGTEST_HAS_STREAM_REDIRECTION=1 -frtti 
-Wno-deprecated-copy -Wno-signed-unsigned-wchar -fPIE -std=c++14 
-Wno-deprecated-copy -Wno-error=inconsistent-missing-override 
-Wno-error=missing-variable-declarations -Wno-error=sign-compare 
-Wno-error=unused-parameter -Wno-c++11-extensions  -Wl,-zrelro -pie  
--ld-path=/usr/local/llvm16/bin/ld.lld -o gmock-actions_test  
gmock-actions_test.o -lprivategmock_main -lprivategmock -lprivategtest
ld.lld: error: undefined symbol: testing::internal::DeathTest::Create(char const*, 
testing::Matcher<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char>> const&>, char const*, int, testing::internal::DeathTest**)
referenced by gmock-actions_test.cc
              gmock-actions_test.o:(testing::(anonymous 
namespace)::BuiltInDefaultValueDeathTest_IsUndefinedForReferences_Test::TestBody())
referenced by gmock-actions_test.cc
              gmock-actions_test.o:(testing::(anonymous 
namespace)::BuiltInDefaultValueDeathTest_IsUndefinedForReferences_Test::TestBody())
referenced by gmock-actions_test.cc
              gmock-actions_test.o:(testing::(anonymous 
namespace)::BuiltInDefaultValueDeathTest_IsUndefinedForNonDefaultConstructibleType_Test::TestBody())
referenced 4 more times

ld.lld: error: undefined symbol: 
testing::Expectation::Expectation(std::__1::shared_ptr<testing::internal::ExpectationBase>
 const&)


Any thoughts on how to fix this?
Compiling with the in tree llvm does work properly.

NB: building 14-CURRENT in a 14-CURRENT jail on 13.2-RELEASE. And this example 
is my test on amd64 to make it work before I will do this in the slow RPI4.

Regards,
Ronald.

Reply via email to