broken source upgrade 9.3-STABLE to 10.3-STABLE

Ronald Klop ronald-lists at klop.ws
Thu Dec 15 21:03:54 UTC 2016


On Wed, 14 Dec 2016 08:27:13 +0100, Eugene Grosbein <egrosbein at rdtc.ru>  
wrote:

> Hi!
>
> I've got legacy FreeBSD server running 8.4-STABLE and I'm trying to  
> upgrade it.
> Source upgrade for 8.4 to 9.3-STABLE r310015 went flawlessly.
> After reboot, I checked out stable/10 r310043 sources and ran buildworld  
> again.
> It fails:
>
> ===> lib/clang/libllvmanalysis (all)
> c++  -O2 -pipe  
> -I/usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/include  
> -I/usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/tools/clang/include  
> -I/usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/lib/Analysis  
> -I.  
> -I/usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/../../lib/clang/include  
> -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS  
> -D__STDC_CONSTANT_MACROS -DNDEBUG -fno-strict-aliasing  
> -DLLVM_DEFAULT_TARGET_TRIPLE=\"x86_64-unknown-freebsd10.3\"  
> -DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd10.3\"  
> -DDEFAULT_SYSROOT=\"/usr/obj/usr/src/tmp\"  
> -I/usr/obj/usr/src/tmp/legacy/usr/include  -fno-exceptions -fno-rtti -c  
> /usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/lib/Analysis/LazyValueInfo.cpp  
> -o LazyValueInfo.o
> /usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/lib/Analysis/LazyValueInfo.cpp:  
> In member function 'llvm::Constant*  
> llvm::LazyValueInfo::getConstant(llvm::Value*, llvm::BasicBlock*)':
> /usr/src/lib/clang/libllvmanalysis/../../../contrib/llvm/lib/Analysis/LazyValueInfo.cpp:1054:  
> error: 'nullptr' was not declared in this scope
> *** Error code 1
>
> Does it mean that FreeBSD clang version 3.4.1  
> (tags/RELEASE_34/dot1-final 208032) 20140512
> is unable to build more recent clang version?


Check /usr/src/UPDATING:
20141231:
         Clang, llvm and lldb have been upgraded to 3.5.0 release.

         As of this release, a prerequisite for building clang, llvm and  
lldb is
         a C++11 capable compiler and C++11 standard library.  This means  
that to
         be able to successfully build the cross-tools stage of buildworld,  
with
         clang as the bootstrap compiler, your system compiler or cross  
compiler
         should either be clang 3.3 or later, or gcc 4.8 or later, and your
         system C++ library should be libc++, or libdstdc++ from gcc 4.8 or
         later.

         On any standard FreeBSD 10.x or 11.x installation, where clang and
         libc++ are on by default (that is, on x86 or arm), this should  
work out
         of the box.

         On 9.x installations where clang is enabled by default, e.g. on  
x86 and
         powerpc, libc++ will not be enabled by default, so libc++ should be
         built (with clang) and installed first.  If both clang and libc++  
are
         missing, build clang first, then use it to build libc++.

         On 8.x and earlier installations, upgrade to 9.x first, and then  
follow
         the instructions for 9.x above.


Regards,
Ronald.


More information about the freebsd-stable mailing list