LLVM Build/install error?

Hi,

I am trying to build and install LLVM onto a current Debian Linux system using gcc4 frontend binaries for Red Hat Enterprise Linux4/x86 .
Using the commands below the Build finishes, ignoring an error that comes up again when I try to make install.
See the messages below. I have no good feeling about the "-i -k" options.
Is it OK?

Thank you in advance for any advice and best regards

Carsten

/usr/bin/gcc-4.0 -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,java --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.4 20060730 (prerelease) (Debian 4.0.3-6)

/usr/bin/gcc-3.4 -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-4)

cd /data/xscratch1/reuter/llvm
/data/xscratch1/reuter/llvm-1.9/configure --prefix=/home/reuter/llvm CC=/usr/bin/gcc-4.0 CXX=/usr/bin/g++-3.4 --enable-optimized --enable-targets=sparc,x86
make -j4 -i -k make install -i -k

make[2]: Entering directory `/data/xscratch1/reuter/llvm/tools/opt'
llvm[2]: Linking Release executable opt (without symbols)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' referenced in section `.rodata' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o): defined in discarded section `.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE' of /data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
collect2: ld returned 1 exit status

Carsten,

Those messages are coming from bugs in gcc 3.4. I used 3.4.6
successfully with LLVM for a long time and got those "defined in
discarded section" warnings many times. You can safely ignore them.
However, we recommend you move up to the 4.0.4 compiler for compiling
LLVM.

Reid.

I am trying to build and install LLVM onto a current Debian Linux system
using gcc4 frontend binaries for Red Hat Enterprise Linux4/x86 .
Using the commands below the Build finishes, ignoring an error that
comes up again when I try to make install.
See the messages below. I have no good feeling about the "-i -k" options.
Is it OK?

This is a known bug in GNU ld 2.16.x:
http://llvm.org/docs/GettingStarted.html#brokengcc

Please try a new or different version of ld.

-Chris

Thank you in advance for any advice and best regards

Carsten

/usr/bin/gcc-4.0 -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,java
--prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt=gtk-default
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre
--with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.4 20060730 (prerelease) (Debian 4.0.3-6)

/usr/bin/gcc-3.4 -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal
--prefix=/usr --libexecdir=/usr/lib
--with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared
--with-system-zlib --enable-nls --without-included-gettext
--program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-4)

cd /data/xscratch1/reuter/llvm
/data/xscratch1/reuter/llvm-1.9/configure --prefix=/home/reuter/llvm
CC=/usr/bin/gcc-4.0 CXX=/usr/bin/g++-3.4 --enable-optimized
--enable-targets=sparc,x86
make -j4 -i
-k
make install -i -k

make[2]: Entering directory `/data/xscratch1/reuter/llvm/tools/opt'
llvm[2]: Linking Release executable opt (without symbols)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
referenced in section `.rodata' of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o):
defined in discarded section
`.gnu.linkonce.t._ZN4llvm11SCEVVisitorINS_12SCEVExpanderEPNS_5ValueEE5visitEPNS_4SCEVE'
of
/data/xscratch1/reuter/llvm/Release/lib/libLLVMAnalysis.a(ScalarEvolutionExpander.o)
collect2: ld returned 1 exit status

-Chris

Thanks. But I have been using
GNU ld version 2.17 Debian GNU/Linux
and

gcc version 4.0.4 20060730 (prerelease) (Debian 4.0.3-6)

If I ignore all errors, only the following targets are build:
gccld* llvm-ar* llvm-bcanalyzer* llvm-db* llvm-extract* llvm-link* llvm-prof* llvm-stub* llvmc*
lli* llvm-as* llvm-config* llvm-dis* llvm-ld* llvm-nm* llvm-ranlib* llvm2cpp

Carsten

Chris Lattner wrote: