[cfe-dev] build error in git master

Stephen Street sgs at redrocketcomputing.com
Fri Oct 5 12:05:11 PDT 2012


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





More information about the cfe-dev mailing list