Hi Emmanuel! I found out what the problem was: we defined dirent structure for Mac OS X 10.5, and in your case the runtime was compiled with -mmacosx-version-min=10.7. This problem should be fixed by r186404.
On Sat, Jul 13, 2013 at 10:25 PM, Emmanuel Thivierge <monamim...@gmail.com>wrote: > Hi, > > Thanks a lot for your help. > > My version of osX is 10.8.4 > And the define __DARWIN_64_BIT_INO_T is define to 1. > > I hope this help. > > The reason I am compiling Address sanitizer is that I might need it is i > run into problems while developing. > > Thanks again > > Emmanuel > > On 2013-07-12, at 9:05 AM, Alexey Samsonov <samso...@google.com> wrote: > > Hi! > > On Fri, Jul 12, 2013 at 4:34 AM, Mani <monamim...@gmail.com> wrote: > >> Hi all, >> >> i have been compiling clang for months without problems, until about last >> week. Since then I can't compile. >> >> usually delete CMakeCache.txt then run >> cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DLLVM_TARGETS_TO_BUILD="X86" >> -DCMAKE_C_COMPILER=/usr/local/bin/clang >> -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ -DCMAKE_CXX_FLAGS="-std=c++11 >> -stdlib=libc++" -DCMAKE_SHARED_LINKER_FLAGS="-std=c++11 -stdlib=libc++" >> -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_WERROR=OFF -DLLVM_BUILD_TOOLS=ON >> -DLLVM_BUILD_EXAMPLES=OFF -DCLANG_BUILD_EXAMPLES=OFF >> -DLLVM_APPEND_VC_REV=ON /Users/Mani/Development/Projects/llvm/source >> ln -s $PWD/compile_commands.json >> /Users/Mani/Development/Projects/llvm/source >> >> and then run >> make -j10 ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 >> >> Here is what i get. >> >> [ 15%] [ 16%] Built target clang_rt.x86_64 >> Built target clang_rt.i386 >> [ 16%] >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc:799:1: >> error: 'assertion_failed__799' >> declared as an array with a negative size >> CHECK_SIZE_AND_OFFSET(dirent, d_ino); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc:726:3: >> note: expanded from macro >> 'CHECK_SIZE_AND_OFFSET' >> COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *) NULL)->MEMBER) == \ >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:239:30: >> note: expanded from macro 'COMPILER_CHECK' >> #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__) >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:245:57: >> note: expanded from macro >> 'IMPL_COMPILER_ASSERT' >> typedef char IMPL_PASTE(assertion_failed_##_, line)[2*(int)(pred)-1] >> ^~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc:803:1: >> error: 'assertion_failed__803' >> declared as an array with a negative size >> CHECK_SIZE_AND_OFFSET(dirent, d_reclen); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc:728:3: >> note: expanded from macro >> 'CHECK_SIZE_AND_OFFSET' >> COMPILER_CHECK(offsetof(__sanitizer_##CLASS, MEMBER) == \ >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:239:30: >> note: expanded from macro 'COMPILER_CHECK' >> #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__) >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> /Users/Mani/Development/Projects/llvm/source/projects/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:245:57: >> note: expanded from macro >> 'IMPL_COMPILER_ASSERT' >> typedef char IMPL_PASTE(assertion_failed_##_, line)[2*(int)(pred)-1] >> ^~~~~~~~~~~~~~~ >> 2 errors generated. >> Built target RTLSanCommon.osx >> make[2]: *** >> [projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_platform_limits_posix.cc.o] >> Error 1 >> make[1]: *** >> [projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/all] >> Error 2 >> make[1]: *** Waiting for unfinished jobs…. >> >> Anybody know what going on? >> > > You've got a problem with compiling AddressSanitizer runtime: it > incorrectly defines "dirent" structure (normally it comes from > /usr/include/sys/dirent.h). > 1) Which OS X version do you use? > 2) What is the value of __DARWIN_64_BIT_INO_T on your system? (you may > check it by including sys/cdefs.h and looking at the value of this > definition). > > Note that if you're not interested in ASan, you may just build clang as > follows: > "make -j10 ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 clang" > > >> Thanks >> Emmanuel >> _______________________________________________ >> cfe-users mailing list >> cfe-users@cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users >> > > > > -- > Alexey Samsonov, MSK > > > -- Alexey Samsonov, MSK
_______________________________________________ cfe-users mailing list cfe-users@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users