C++ broken on Raspberry Pi?

Warner Losh imp at bsdimp.com
Tue Apr 16 00:45:19 UTC 2013


Did you run out of memory?

Warner

On Apr 15, 2013, at 6:41 PM, Paul Mather wrote:

> I recently bought a Raspberry Pi and have been running FreeBSD 10-CURRENT on it (r249461).  My system is running an image built using Tim Kientzle's Crochet scripts on a FreeBSD/amd64 10-CURRENT build system.  I just tried doing a native build on the Raspberry Pi itself but the buildworld fails fairly early on:
> 
> =====
> [...]
> mkdep -f .depend -a    -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support -I. -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DLLVM_DEFAULT_TARGET_TRIPLE=\"armv6-unknown-freebsd10.0\" -DLLVM_HOSTTRIPLE=\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=\"\" -I/usr/obj/usr/src/tmp/legacy/usr/include -std=gnu99   /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ConvertUTF.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regcomp.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regerror.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regexec.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regfree.c /usr/src
> /lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regstrlcpy.c
> mkdep -f .depend -a    -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support -I. -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DLLVM_DEFAULT_TARGET_TRIPLE=\"armv6-unknown-freebsd10.0\" -DLLVM_HOSTTRIPLE=\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=\"\" -I/usr/obj/usr/src/tmp/legacy/usr/include        /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APInt.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APSInt.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Allocator.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Atomic.cpp /usr/src/l
> ib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/BlockFrequency.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/BranchProbability.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/CommandLine.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ConstantRange.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ConvertUTFWrapper.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/CrashRecoveryContext.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Debug.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DeltaAlgorithm.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Dwarf.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DynamicLibrary.cpp /usr/src/lib/clang/libllvmsupport/../../../contri
> b/llvm/lib/Support/Errno.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ErrorHandling.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FileOutputBuffer.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FoldingSet.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FormattedStream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/GraphWriter.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Hashing.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Host.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IncludeFile.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IntEqClasses.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IntervalMap.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IntrusiveRefCntPtr.cpp /usr/src/lib/clang/libllvmsup
> port/../../../contrib/llvm/lib/Support/IsInf.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IsNAN.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Locale.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/LockFileManager.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ManagedStatic.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Memory.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/MemoryBuffer.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/MemoryObject.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Mutex.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Path.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PathV2.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PluginLoader.cpp /usr/src/lib/clang/libllvmsupport/../../.
> ./contrib/llvm/lib/Support/PrettyStackTrace.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Process.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Program.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/RWMutex.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Regex.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SearchForAddressOfSpecialSymbol.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Signals.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallPtrSet.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallVector.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SourceMgr.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Statistic.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StreamableMemoryObject.cpp /usr/src/lib
> /clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringExtras.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringMap.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringPool.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringRef.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/TargetRegistry.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ThreadLocal.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Threading.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/TimeValue.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Timer.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ToolOutputFile.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Triple.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Twine.cpp /usr/src/lib
> /clang/libllvmsupport/../../../contrib/llvm/lib/Support/Valgrind.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Watchdog.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/YAMLParser.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/YAMLTraits.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/circular_raw_ostream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/raw_os_ostream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/raw_ostream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/system_error.cpp 
> c++  -O -pipe -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support -I. -I/usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -fno-strict-aliasing -DLLVM_DEFAULT_TARGET_TRIPLE=\"armv6-unknown-freebsd10.0\" -DLLVM_HOSTTRIPLE=\"armv6-unknown-freebsd10.0\" -DDEFAULT_SYSROOT=\"\" -I/usr/obj/usr/src/tmp/legacy/usr/include -fno-exceptions -fno-rtti -c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp -o APFloat.o
> Assertion failed: ((PtrVal & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 && "Pointer is not sufficiently aligned"), function initWithPointer, file /usr/src/lib/clang/libclangsema/../../../contrib/llvm/include/llvm/ADT/PointerIntPair.h, line 100.
> Stack dump:
> 0.	Program arguments: /usr/bin/c++ -cc1 -triple armv6-unknown-freebsd10.0 -S -disable-free -main-file-name APFloat.cpp -mrelocation-model static -mdisable-fp-elim -relaxed-aliasing -mconstructor-aliases -target-abi apcs-gnu -target-cpu arm1136jf-s -msoft-float -mfloat-abi soft -target-feature +soft-float -target-feature +soft-float-abi -target-feature -neon -coverage-file /tmp/APFloat-6ga4Rp.s -resource-dir /usr/bin/../lib/clang/3.3 -D LLVM_ON_UNIX -D LLVM_ON_FREEBSD -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -D LLVM_DEFAULT_TARGET_TRIPLE="armv6-unknown-freebsd10.0" -D LLVM_HOSTTRIPLE="armv6-unknown-freebsd10.0" -D DEFAULT_SYSROOT="" -I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/include -I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/tools/clang/include -I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support -I . -I /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/../../lib/clang/include -I /usr/obj/usr/src/tmp/legacy/usr/in
> clude -O2 -fdeprecated-macro -fno-dwarf-directory-asm -fdebug-compilation-dir /usr/obj/usr/src/tmp/usr/src/lib/clang/libllvmsupport -ferror-limit 19 -fmessage-length 0 -mstackrealign -fno-rtti -fno-signed-char -fobjc-runtime=gnustep -fobjc-default-synthesize-properties -fsjlj-exceptions -fdiagnostics-show-option -backend-option -vectorize-loops -o /tmp/APFloat-6ga4Rp.s -x c++ /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp 
> 1.	/usr/include/c++/4.2/bits/basic_string.tcc:978:43: current parser token ';'
> 2.	/usr/include/c++/4.2/bits/basic_string.tcc:48:1 <Spelling=/usr/include/c++/4.2/bits/c++config.h:76:38>: parsing namespace 'std'
> c++: error: unable to execute command: Abort trap (core dumped)
> c++: error: clang frontend command failed due to signal (use -v to see invocation)
> FreeBSD clang version 3.3 (trunk 178860) 20130405
> Target: armv6-unknown-freebsd10.0
> Thread model: posix
> c++: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
> c++: note: diagnostic msg: Error generating preprocessed source(s).
> *** [APFloat.o] Error code 254
> 1 error
> *** [bootstrap-tools] Error code 2
> 1 error
> *** [_bootstrap-tools] Error code 2
> 1 error
> *** [buildworld] Error code 2
> 1 error
> =====
> 
> It seems it is having trouble with C++.  The system is using the 3.3 version of clang:
> 
> root at pi:/usr/src # c++ -v
> FreeBSD clang version 3.3 (trunk 178860) 20130405
> Target: armv6-unknown-freebsd10.0
> Thread model: posix
> 
> 
> I had the same problem with clang 3.2, too.  I've also had problems with C++ building ports.  For example, I can't install devel/subversion because it fails to build databases/db42 due to a C++ problem.
> 
> Is this a known problem with the toolchain on armv6?
> 
> Cheers,
> 
> Paul.
> 
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"



More information about the freebsd-arm mailing list