internal compiler error when compiling llvm-gcc-4.2-2.9

Hi everyone,

   Recently I tried to compile llvm-gcc-4.2-2.9 on a 64bit ubuntu12.04
machine. And I was using the settings below,

    export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
    export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
    ../llvm-gcc-4.2-2.9.source/configure --enable-optimized
--program-prefix=llvm- --enable-checking
--enable-llvm=${HOME}/moonbox/llvm-obj/Debug+Asserts --disable-bootstrap --
enable-languages=c,c++
    make CXX=/usr/bin/clang++

Here `${HOME}/moonbox/llvm-obj/Debug+Asserts' contains the built llvm
lib/bin, I have also added the include directory into this path for
convenience. But then I came across this error message:

    /home/hongxuchen/moonbox/llvm-gcc-obj/./gcc/xgcc -shared-libgcc
-B/home/hongxuchen/moonbox/llvm-gcc-obj/./gcc -nostdinc++
-L/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include
-I/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/hongxuchen/moonbox/llvm-gcc-4.2-2.9.source/libstdc++-v3/libsupc++
-fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2
-D_GNU_SOURCE -c
../../../../llvm-gcc-4.2-2.9.source/libstdc++-v3/src/bitmap_allocator.cc
-fPIC -DPIC -o .libs/bitmap_allocator.o
    *** glibc detected ***
/home/hongxuchen/moonbox/llvm-gcc-obj/./gcc/cc1plus: free(): invalid
pointer: 0x0000000001eb7fb8 ***
   
/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/bitmap_allocator.h:
In member function 'size_t
__gnu_cxx::__detail::__mini_vector<_Tp>::_M_space_left() const [with _Tp =
std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*,
__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>]':
   
/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/bitmap_allocator.h:95:
internal compiler error: Aborted
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://llvm.org/bugs/> for instructions.
    make[4]: *** [bitmap_allocator.lo] Error 1
    make[4]: Leaving directory
`/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src'
    make[3]: Leaving directory
`/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3'
    make[2]: Leaving directory
`/home/hongxuchen/moonbox/llvm-gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3'
    make[1]: Leaving directory `/home/hongxuchen/moonbox/llvm-gcc-obj'
    make[3]: *** [all-recursive] Error 1
    make[2]: *** [all] Error 2
    make[1]: *** [all-target-libstdc++-v3] Error 2
    make: *** [all] Error 2

And I don't know what happens. However I remembered I built this version of
llvm-gcc successfully with similar configuration and the major difference
seems this time I build llvm with --disable-optimized. I have also tried to
build llvm-gcc with `make CXX=/usr/bin/g++' and `--disable-optimized', but
with the same result.

Please see the attached log files if you are interested:-)( stderr.log
<http://llvm.1065342.n5.nabble.com/file/n56010/stderr.log> and stdout.log
<http://llvm.1065342.n5.nabble.com/file/n56010/stdout.log> )

Thanks in advance.

Hongxu Chen

Hello

llvm-gcc is dead. Use clang or dragonegg instead

Hi Chen,

  llvm-gcc is dead. Try dragonegg [] or clang [2].

[1] http://dragonegg.llvm.org/
[2] http://clang.llvm.org/

Regards,
chenwj

Thanks for your help, Wei-Ren and Anton.

However since I am doing some experiments with klee(http://klee.llvm.org/GetStarted.html) and llvm-gcc seems to have better compatibility with it. So I still hope that I can use llvm-gcc:-)

Hongxu Chen

Seems you already found the answer on klee ML. :slight_smile:

Regards,
chenwj

Still have some problems, but much better now:-)

Many thanks!

Hongxu Chen