[cfe-dev] [LLVMdev] [Reminder] LLVM 3.4 Release Branching

Jack Howarth howarth at bromo.med.uc.edu
Mon Nov 11 08:03:47 PST 2013


On Mon, Nov 11, 2013 at 06:46:47PM +0400, Alexander Potapenko wrote:
> This file is for configure+make build, not CMake, so I'm not sure why
> it's being included into your build (these failures aren't
> reproducible for me).
> Can you please list the exact steps you're doing to build LLVM with
> CMake and make sure you don't have additional CFLAGS (LDFLAGS etc)
> defined?

Alexander,
     On fink, we having building llvm svn as follows for years without issue...

cd llvm-3.4
mv ../clang-3.4 tools/clang
mv ../compiler-rt-3.4 projects/compiler-rt
mv ../test-suite-3.4 projects/test-suite
mkdir build
pushd build
/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build /sw/src/fink.build/llvm34-3.4-0/llvm-3.4
	cmake $CMAKE_OPTIONS -DCMAKE_INSTALL_PREFIX=/sw/opt/llvm-3.4 -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is Clang 5.0.0
-- The CXX compiler identification is Clang 5.0.0
-- Check for working C compiler: /sw/var/lib/fink/path-prefix-clang/cc
-- Check for working C compiler: /sw/var/lib/fink/path-prefix-clang/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /sw/var/lib/fink/path-prefix-clang/c++
-- Check for working CXX compiler: /sw/var/lib/fink/path-prefix-clang/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for limits.h
-- Looking for limits.h - found
-- Looking for malloc.h
-- Looking for malloc.h - not found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - found
-- Looking for ndir.h
-- Looking for ndir.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for sanitizer/msan_interface.h
-- Looking for sanitizer/msan_interface.h - not found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for sys/dir.h
-- Looking for sys/dir.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/ndir.h
-- Looking for sys/ndir.h - not found
-- Looking for sys/param.h
-- Looking for sys/param.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/uio.h
-- Looking for sys/uio.h - found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for utime.h
-- Looking for utime.h - found
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- Looking for zlib.h
-- Looking for zlib.h - found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for FE_ALL_EXCEPT
-- Looking for FE_ALL_EXCEPT - found
-- Looking for FE_INEXACT
-- Looking for FE_INEXACT - found
-- Looking for mach/mach.h
-- Looking for mach/mach.h - found
-- Looking for mach-o/dyld.h
-- Looking for mach-o/dyld.h - found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for pthread_getspecific in pthread
-- Looking for pthread_getspecific in pthread - found
-- Looking for pthread_rwlock_init in pthread
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for compress2 in z
-- Looking for compress2 in z - found
-- Looking for setupterm in tinfo
-- Looking for setupterm in tinfo - not found
-- Looking for setupterm in terminfo
-- Looking for setupterm in terminfo - not found
-- Looking for setupterm in curses
-- Looking for setupterm in curses - found
-- Looking for arc4random
-- Looking for arc4random - found
-- Looking for backtrace
-- Looking for backtrace - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for isatty
-- Looking for isatty - found
-- Looking for isinf
-- Looking for isinf - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for finite
-- Looking for finite - not found
-- Looking for isnan
-- Looking for isnan - not found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for ceilf
-- Looking for ceilf - found
-- Looking for floorf
-- Looking for floorf - found
-- Looking for fmodf
-- Looking for fmodf - found
-- Looking for log
-- Looking for log - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for log10
-- Looking for log10 - found
-- Looking for exp
-- Looking for exp - found
-- Looking for exp2
-- Looking for exp2 - found
-- Looking for exp10
-- Looking for exp10 - not found
-- Looking for futimens
-- Looking for futimens - not found
-- Looking for futimes
-- Looking for futimes - found
-- Looking for writev
-- Looking for writev - found
-- Looking for nearbyintf
-- Looking for nearbyintf - found
-- Looking for mallinfo
-- Looking for mallinfo - not found
-- Looking for malloc_zone_statistics
-- Looking for malloc_zone_statistics - found
-- Looking for mkdtemp
-- Looking for mkdtemp - found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mktemp
-- Looking for mktemp - found
-- Looking for closedir
-- Looking for closedir - found
-- Looking for opendir
-- Looking for opendir - found
-- Looking for readdir
-- Looking for readdir - found
-- Looking for getcwd
-- Looking for getcwd - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for posix_spawn
-- Looking for posix_spawn - found
-- Looking for pread
-- Looking for pread - found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for sbrk
-- Looking for sbrk - found
-- Looking for srand48
-- Looking for srand48 - found
-- Looking for lrand48
-- Looking for lrand48 - found
-- Looking for drand48
-- Looking for drand48 - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoq
-- Looking for strtoq - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for dlerror
-- Looking for dlerror - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Performing Test HAVE_INT64_T
-- Performing Test HAVE_INT64_T - Success
-- Performing Test HAVE_UINT64_T
-- Performing Test HAVE_UINT64_T - Success
-- Performing Test HAVE_U_INT64_T
-- Performing Test HAVE_U_INT64_T - Success
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- Found LibXml2: /sw/lib/libxml2.dylib (found version "2.9.1") 
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Success
-- Target triple: x86_64-apple-darwin12.5.0
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Performing Test C_SUPPORTS_FLAG
-- Performing Test C_SUPPORTS_FLAG - Success
-- Performing Test CXX_SUPPORTS_FLAG
-- Performing Test CXX_SUPPORTS_FLAG - Success
-- Building with -fPIC
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG
-- Performing Test CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG - Success
-- Found PythonInterp: /usr/bin/python (found version "2.7.2") 
-- Constructing LLVMBuild project information
-- Targeting X86
-- Performing Test SUPPORTS_GLINE_TABLES_ONLY_FLAG
-- Performing Test SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
-- Performing Test SUPPORTS_NO_C99_EXTENSIONS_FLAG
-- Performing Test SUPPORTS_NO_C99_EXTENSIONS_FLAG - Success
-- Performing Test SUPPORTS_NO_NON_VIRTUAL_DTOR_FLAG
-- Performing Test SUPPORTS_NO_NON_VIRTUAL_DTOR_FLAG - Success
-- Performing Test SUPPORTS_GLOBAL_CONSTRUCTORS_FLAG
-- Performing Test SUPPORTS_GLOBAL_CONSTRUCTORS_FLAG - Success
-- Clang version: 3.4
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Success
-- Found Subversion: /usr/bin/svn (found version "1.7.10") 
-- Configuring done
-- Generating done
-- Build files have been written to: /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build
make -j1 VERBOSE=1

The fink build system doesn't set CFLAGS or CXXFLAGS but does set CPPFLAGS to "-I/sw/include"
and LDFLAGS to "-L/sw/lib". MACOSX_DEPLOYMENT_TARGET is set to "10.8" during the build on
darwin12.
   If I use...

cmake -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=%p/opt/llvm-%v -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT:STRING=/ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="" ..

...the build completes but setting -DCMAKE_OSX_DEPLOYMENT_TARGET to a null string hasn't been required in the past. What happens to your
cmake build if you set the MACOSX_DEPLOYMENT_TARGET target environmental? You should see the failure...

[ 54%] Building CXX object projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o
cd /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan && /sw/var/lib/fink/path-prefix-clang/c++   -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -O3 -DNDEBUG -arch x86_64 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.8 -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/..     -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -Wno-gnu -fvisibility=hidden -O3 -gline-tables-only -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -o CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o -c /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/asan_allocator2.cc
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
make[2]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o] Error 1
make[1]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/all] Error 2
make: *** [all] Error 2
### execution of /tmp/fink.ltKmc failed, exit code 2
### execution of /tmp/fink.kDaoC failed, exit code 2

        Jack
ps This is using the current release of cmake which is cmake 2.8.12.


> 
> On Mon, Nov 11, 2013 at 6:16 PM, Jack Howarth <howarth at bromo.med.uc.edu> wrote:
> > On Mon, Nov 11, 2013 at 01:59:25PM +0400, Alexander Potapenko wrote:
> >> Jack,
> >>
> >> Where do the "-isysroot
> >> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
> >> -mmacosx-version-min=10.8" flags come from? I don't see them in your
> >> CMake invocation - perhaps they're added via $CC or $CFLAGS? Is this
> >> being done on purpose?
> >
> > In the llvm-3.4 toplevel Makefile.rules file, I see...
> >
> > ifeq ($(HOST_OS),Darwin)
> >  ifdef MACOSX_DEPLOYMENT_TARGET
> >   DARWIN_VERSION := $(MACOSX_DEPLOYMENT_TARGET)
> >  else
> >   DARWIN_VERSION := `sw_vers -productVersion`
> >  endif
> >   # Strip a number like 10.4.7 to 10.4
> >   DARWIN_VERSION := $(shell echo $(DARWIN_VERSION)| sed -E 's/(10.[0-9]).*/\1/')
> >   # Get "4" out of 10.4 for later pieces in the makefile.
> >   DARWIN_MAJVERS := $(shell echo $(DARWIN_VERSION)| sed -E 's/10.([0-9]).*/\1/')
> >
> >   LoadableModuleOptions := -Wl,-flat_namespace -Wl,-undefined,suppress
> >   SharedLinkOptions := -dynamiclib
> >   ifdef DEPLOYMENT_TARGET
> >     SharedLinkOptions += $(DEPLOYMENT_TARGET)
> >   else
> >     ifneq ($(ARCH),ARM)
> >       SharedLinkOptions += -mmacosx-version-min=$(DARWIN_VERSION)
> >     endif
> >   endif
> > else
> >   SharedLinkOptions=-shared
> > endif
> >
> > ifeq ($(TARGET_OS),Darwin)
> >   ifdef DEPLOYMENT_TARGET
> >     TargetCommonOpts += $(DEPLOYMENT_TARGET)
> >   else
> >     ifneq ($(ARCH),ARM)
> >       TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION)
> >     endif
> >   endif
> > endif
> >
> >>
> >> I can add a CMake step checking whether the current CFLAGS/LDFLAGS
> >> allow to build an iossim binary, and skip building the iossim runtime
> >> if that's impossible.
> >> But in that case your compiler won't be able to build the iossim runtime at all.
> >>
> >> Alex
> >>
> >> On Sun, Nov 10, 2013 at 7:50 PM, Jack Howarth <howarth at bromo.med.uc.edu> wrote:
> >> > On Sun, Nov 10, 2013 at 06:11:16AM -0800, Bill Wendling wrote:
> >> >> Good day!
> >> >>
> >> >> This is just a reminder that branching for the 3.4 release will occur at this time:
> >> >>
> >> >>       Monday, November 18, 2013 at 7:00:00 PM PST / Tuesday, November 19, 2013 at 3:00:00 AM UTC
> >> >>
> >> >> What this means for you!
> >> >> ------------------------
> >> >>
> >> >> * Please keep the release notes up to date -- There has been very few commits to them. Please be proactive and update them with any significant feature that was put in.
> >> >>
> >> >> * Keep the tree healthy -- Pay attention to buildbot failures and regressions and fix them as quickly as possible.
> >> >>
> >> >> * Finish your features -- The 18th won't be the final day to submit code, but you should have a significant portion of the feature finished by then. I.e., a few minor changes, bug fixes, and clean ups. If you're going to be late with your feature, please let me know ahead of time and we can figure something out.
> >> >>
> >> >> * Fix bugs -- Go through the bug database and find those PRs which you can fix easily. If a PR is a release blockers, then ask the code owner to bump up the priority.
> >> >>
> >> >> This should be a wicked awesome release! :-)
> >> >>
> >> >> Share and enjoy!
> >> >> -bw
> >> >
> >> > Current llvm/compiler-rt/clang svn is still broken on x86_64 darwin13 here for a build with...
> >> >
> >> > cmake -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_TARGETS_TO_BUILD=X86  -DCMAKE_INSTALL_PREFIX=/sw/opt/llvm-3.4 -DLLVM_ENABLE_ASSERTIONS=OFF -DCMAKE_BUILD_TYPE=Release ..
> >> >
> >> > [ 54%] Building CXX object projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o
> >> > cd /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan && /sw/var/lib/fink/path-prefix-clang/c++   -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 -DASAN_HAS_EXCEPTIONS=1 -DASAN_NEEDS_SEGV=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -O3 -DNDEBUG -arch x86_64 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.8 -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/build/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/include -I/sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/include -I/sw/src/fink.build/llvm34-3.4!
> >> >  -0/llvm-3.4/projects/compiler-rt/lib/asan/..     -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -Wno-gnu -fvisibility=hidden -O3 -gline-tables-only -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -o CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o -c /sw/src/fink.build/llvm34-3.4-0/llvm-3.4/projects/compiler-rt/lib/asan/asan_allocator2.cc
> >> > clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
> >> > clang: error: invalid argument '-mmacosx-version-min=10.8' not allowed with '-mios-simulator-version-min=7.0'
> >> > make[2]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/asan_allocator2.cc.o] Error 1
> >> > make[1]: *** [projects/compiler-rt/lib/asan/CMakeFiles/RTAsan.iossim.dir/all] Error 2
> >> > make: *** [all] Error 2
> >> > ### execution of /tmp/fink.lUrKE failed, exit code 2
> >> > ### execution of /tmp/fink.kVn0V failed, exit code 2
> >> >
> >> >>
> >> >
> >> >> _______________________________________________
> >> >> LLVM Developers mailing list
> >> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >> >
> >> >
> >> > _______________________________________________
> >> > cfe-dev mailing list
> >> > cfe-dev at cs.uiuc.edu
> >> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> >>
> >>
> >>
> >> --
> >> Alexander Potapenko
> >> Software Engineer
> >> Google Moscow
> 
> 
> 
> -- 
> Alexander Potapenko
> Software Engineer
> Google Moscow




More information about the cfe-dev mailing list