[cfe-dev] build error in git master

Stephen Street sgs at redrocketcomputing.com
Tue Oct 9 11:03:36 PDT 2012


Alex,

Used cmake v2.8.9, build completed succesfully and the contents of lib/clang/3.2/lib/linux is 

drwxrwxr-x 2 stephen stephen   4096 Oct  9 10:48 .
drwxrwxr-x 3 stephen stephen   4096 Oct  9 10:37 ..
-rw-rw-r-- 1 stephen stephen 333316 Oct  9 10:48 libclang_rt.asan-x86_64.a
-rw-rw-r-- 1 stephen stephen 555106 Oct  9 10:48 libclang_rt.tsan-x86_64.a
-rw-rw-r-- 1 stephen stephen 246870 Oct  9 10:48 libclang_rt.x86_64.a

Stephen

On Oct 8, 2012, at 11:44 AM, Alexey Samsonov <samsonov at google.com> wrote:

> 
> 
> On Mon, Oct 8, 2012 at 1:16 PM, Evgeniy Stepanov <eugenis at google.com> wrote:
> Sounds like we need to test whether x86_64 and/or i386 build works by compiling a simple test program.
> 
> Yes. I'll check if compiling a simple program (w/o including all the system headers we need) is enough to reason
> about whether we can target i386. If the fix is not-trivial I'll revert the change to un-break people.
> 
> Maroudas, Stephen
> Could you test if CMake build of LLVM (http://llvm.org/docs/CMake.html) would work on your platform?
> You'd need to install cmake 2.8.8 and follow the build instructions.
> 
> $ mkdir mybuilddir
> $ cd mybuilddir
> $ cmake path/to/llvm/source/root
> $ make
> 
> I'm specifically interested in the contents of mybuilddir/lib/clang/3.2/lib/linux
>  
> 
> 
> On Fri, Oct 5, 2012 at 11:05 PM, Stephen Street <sgs at redrocketcomputing.com> wrote:
> Hello,
> 
> I'm getting the same type of error:
> 
> COMPILE:   clang_linux/asan-i386/i386: /home/stephen/Workspace/clang-standalone-workspace/build/project/clang-standalone/bootstrap/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_mac.cc
> /home/stephen/Workspace/clang-standalone-workspace/build/project/clang-standalone/bootstrap/src/llvm/projects/compiler-rt/lib/asan/asan_linux.cc:24:10: fatal error:
>       'sys/time.h' file not found
> #include <sys/time.h>
> 
> which seems confusing as I configured my LLVM build with ./configure --enable-targets=x86_64 (I also tried this with --enable-targets=host on a Ubuntu 12.04 64 bit system) which should not have included the i386 support and thus not need the multiarch support...
> 
> Any suggestion on how to constrain the compiler-rt build to x86_64 target only?
> 
> Thanks!
> Stephen
> 
> On Oct 5, 2012, at 9:37 AM, kapamaroo <kapamaroo at gmail.com> wrote:
> 
> >> Yes, it looks like you're missing system headers for 32-bit builds.
> >> Is there any way/package you can use to get them? (probably there should be
> >> folder /usr/include/i386-linux-gnu/
> >> as well as /usr/include/x86_64-linux-gnu).
> >> In the meantime, we should think on how to test presence of necessary
> >> headers while configuring the build...
> >
> > I installed this package through multiarch
> >
> > linux-libc-dev:i386    :/usr/include/i386-linux-gnu/asm/unistd.h
> >
> > and now I get this error:
> >
> >  COMPILE:   clang_linux/asan-i386/i386: /opt/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc
> > /opt/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:20:10: fatal error: 'new' file not found
> > #include <new>
> >         ^
> > 1 error generated.
> >
> >
> >
> > Searching for 'new' I get the following results:
> >
> > $ mlocate new |grep /usr/include |grep new$
> > /usr/include/boost/tr1/tr1/new
> > /usr/include/c++/4.6/new
> > /usr/include/c++/4.7/new
> >
> > I have libstdc++6-4.7-dev installed on my system which provides /usr/include/c++/4.7/new.
> > Trying to install libstdc++6-4.7-dev:i386 conflicts with the already installed version of the package for amd64.
> >
> >
> > If I change the previous line to
> >
> > #include <c++/4.7/new>
> >
> > I get
> >
> >  COMPILE:   clang_linux/asan-i386/i386: /opt/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc
> > In file included from /opt/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:21:
> > /usr/include/c++/4.7/new:40:10: fatal error: 'bits/c++config.h' file not found
> > #include <bits/c++config.h>
> >         ^
> > 1 error generated.
> >
> >
> > yet another search this time for 'bits/c++config.h' returns:
> >
> > $ mlocate bits/c++config.h
> > /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/c++config.h
> > /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h
> > /usr/include/c++/4.7/x86_64-linux-gnu/32/bits/c++config.h
> > /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++config.h
> >
> >
> > I think this has to do with the debian way of installing header files (and libraries) in order to offer multiarch
> > support.
> >
> > The only workaround for me at the moment is to build without the changes introduced by commits r165096 and r165097
> > which is something I am trying to avoid.
> >
> > Any help would be appreciated.
> >
> > Thanks,
> >
> > Maroudas Manolis
> >
> >
> >> On Fri, Oct 5, 2012 at 12:11 AM, kapamaroo <kapamaroo at gmail.com> wrote:
> >>> Hello,
> >>>
> >>> I get this error in debian unstable (arch amd64).
> >>>
> >>>  COMPILE:   clang_linux/asan-i386/i386:
> >>> /opt/llvm/projects/compiler-rt/lib/asan/asan_linux.cc
> >>> In file included from
> >>> /opt/llvm/projects/compiler-rt/lib/asan/asan_linux.cc:27:
> >>> /usr/include/sys/syscall.h:25:10: fatal error: 'asm/unistd.h' file not
> >>> found
> >>> #include <asm/unistd.h>
> >>>
> >>>         ^
> >>>
> >>> 1 error generated.
> >>>
> >>>
> >>> configure options:
> >>>
> >>> $ ../configure \
> >>>
> >>>  --disable-assertions \
> >>>  --enable-optimized \
> >>>  --disable-debug-symbols \
> >>>  --disable-debug-runtime \
> >>>  --enable-targets=host-only
> >>>
> >>> same with --enable-targets=all
> >>>
> >>> installed packages:
> >>>
> >>> linux-libc-dev    :/usr/include/x86_64-linux-gnu/asm/unistd.h
> >>> libc6-dev
> >>> libc6-dev-i386
> >>>
> >>> Build fails after the following changes
> >>>
> >>> r165096    "Build ASan runtime on Linux for both x86_64 and i386, same as
> >>> we do with full compiler_rt and
> >>> libprofile"
> >>> r165097    "Make sure 32-bit ASan runtime is available on 64-bit Linux
> >>> platforms"
> >>>
> >>> I cannot test it with another linux distribution, so maybe it is debian
> >>> related or just me.
> >>> Maybe I need to enable multiarch support for i386. Anyone with the same
> >>> problem?
> >>>
> >>> Thanks,
> >>>
> >>> Maroudas Manolis
> >>>
> >>>> I think your build script is OK.
> >>>> r165222 should fix the problem for you.
> >>>>
> >>>> On Thu, Oct 4, 2012 at 4:15 PM, Carsten Mattner <
> >>>
> >>> carstenmattner at gmail.com>wrote:
> >>>>> On Thu, Oct 4, 2012 at 2:10 PM, Дмитрий Дьяченко <dimhen at gmail.com>
> >>>
> >>> wrote:
> >>>>>> few days ago i saw similar on Linux-x86_64
> >>>>>> with slightly different err "fatal error: 'gnu/stubs-32.h' file not
> >>>>>
> >>>>> found"
> >>>>>
> >>>>>> --> after glibc-devel-i386 installation err go away
> >>>>>>
> >>>>>> llvm/clang were configured with --enable-targets=host
> >>>>>
> >>>>> Anything wrong or improvable in the way I configure and build:
> >>>>> CC=gcc CXX=g++ \
> >>>>>
> >>>>>    ../llvm/configure \
> >>>>>    --prefix=$PREFIX \
> >>>>>    --libdir=$PREFIX/lib/llvm \
> >>>>>    --sysconfdir=$PREFIX/etc \
> >>>>>    --enable-shared \
> >>>>>    --enable-targets=all \
> >>>>>    --disable-expensive-checks \
> >>>>>    --disable-debug-runtime \
> >>>>>    --disable-assertions \
> >>>>>    --with-binutils-include=/usr/include \
> >>>>>    --enable-optimized
> >>>>>
> >>>>> Is --enable-targets=all a bad idea? I think I copied the flags from
> >>>>> a distro package.
> >>>>>
> >>>>> After configure is done I call "make REQUIRES_RTTI=1" also inspired
> >>>>> by a distro package build script.
> >>>>>
> >>>>>> Dmitry
> >>>>>>
> >>>>>> 2012/10/4 Carsten Mattner <carstenmattner at gmail.com>:
> >>>>>>> Does anybody else see the following build-error on linux-386?
> >>>>>>>
> >>>>>>>  COMPILE:   clang_linux/asan-x86_64/x86_64:
> >>>>>>>    /tmp/src/llvm/llvm/projects/compiler-rt/lib/asan/asan_linux.cc
> >>>>>>>
> >>>>>>> In file included from
> >>>>>>> /tmp/src/llvm/llvm/projects/compiler-rt/lib/asan/asan_linux.cc:24:
> >>>>>>> In file included from /usr/include/sys/time.h:22:
> >>>>>>> In file included from /usr/include/features.h:399:
> >>>>>>> /usr/include/gnu/stubs.h:10:11: fatal error: 'gnu/stubs-64.h' file
> >>>
> >>> not
> >>>
> >>>>> found
> >>>>>
> >>>>>>> # include <gnu/stubs-64.h>
> >>>>>>>
> >>>>>>>          ^
> >>>>>>>
> >>>>>>> 1 error generated.
> >>>>>>> _______________________________________________
> >>>>>>> cfe-dev mailing list
> >>>>>>> cfe-dev at cs.uiuc.edu
> >>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> >>>>>
> >>>>> _______________________________________________
> >>>>> cfe-dev mailing list
> >>>>> cfe-dev at cs.uiuc.edu
> >>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> >
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> 
> 
> 
> 
> 
> -- 
> Alexey Samsonov, MSK
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121009/af9e4b87/attachment.html>


More information about the cfe-dev mailing list