In message <snt136-ds4922b983682d8ae329620f0...@phx.gbl>
          "Alan Buckley" <alan_...@hotmail.com> wrote:

> I’ve tried today to build the trunk GCC after doing an svn update
> on Debian and it failed. After retrying a make I get:
> 
> libtool: link: ( cd ".libs" && rm -f "libcloog.la" && ln -s "../libcloog.la" 
> "li
> bcloog.la" )
> gcc -DHAVE_CONFIG_H -I. -I/home/alanb/gccsdk/gcc4/srcdir/cloog 
> -I./include/cloog
> -I./include -I/home/alanb/gccsdk/gcc4/srcdir/cloog/include  
> -I/home/alanb/gccsd
> k/gcc4/builddir/installed-libs-for-cross-gcc/include 
> -I/home/alanb/gccsdk/gcc4/b
> uilddir/installed-libs-for-cross-gcc/include  -Wall -fomit-frame-pointer -g 
> -O2
> -MT cloog.o -MD -MP -MF .deps/cloog.Tpo -c -o cloog.o `test -f 
> 'source/cloog.c'
> || echo '/home/alanb/gccsdk/gcc4/srcdir/cloog/'`source/cloog.c
> mv -f .deps/cloog.Tpo .deps/cloog.Po
> /bin/bash ./libtool --tag=CC   --mode=link gcc -Wall -fomit-frame-pointer -g 
> -O2
>   -L/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib 
> -L/home/al
> anb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib  -o cloog cloog.o 
> libc
> loog.la -lgmp -lppl_c -lppl -lgmpxx -Wl,-lstdc++
> libtool: link: gcc -Wall -fomit-frame-pointer -g -O2 -o cloog cloog.o 
> -Wl,-lstdc
> ++  -L/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib 
> ./.libs/
> libcloog.a 
> /home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/lib
> ppl_c.a 
> /home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/libppl
> .a 
> /home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/libgmpxx.a
> /home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/libgmp.a
> /usr/bin/ld: cannot find -lstdc++
> 
> It looks like this cloog item can’t find –lstdc++. How do I fix this?
> 
> As a test I did manage to link it by using g++ in the makefile, but this is
> overwritten once I tried to remake gcc4 again.

First of all, CLooG-PPL is optional, so you can dance around this
problem by setting GCC_USE_PPL_CLOOG to no in gcc4/Makefile.

Secondly, CLooG's Makefile is in fact wrong by using gcc to link libraries
which do require C++ libraries (the confusion is that CLooG itself is C
only).  The real trouble is that the PPL version of CLooG is a bit hacked
by its developers and not really going to be maintained in future (in
gcc 4.7 this will be switched to CLooG-ISL instead).

Perhaps the following is better workaround: locate CROSS_GCC_CONFIG_ARGS in
gcc4/Makefile which specifies --with-host-libstdcxx, change its value into:

  --with_host-libstdcxx=/usr/lib/libstdc++.so.6

Does that solve your problem ?

If we really want to know why libstdc++ does not get found on your
system, try:

  $ cd builddir/cross-cloog
  $ gcc -v -Wall -fomit-frame-pointer -g -O2 -o cloog cloog.o -Wl,-lstdc++  
-L/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib ./.libs/ 
libcloog.a 
/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/lib ppl_c.a 
/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/libppl .a 
/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/libgmpxx.a 
/home/alanb/gccsdk/gcc4/builddir/installed-libs-for-cross-gcc/lib/libgmp.a

I.e. add the -v option to gcc and look at the -L options specified with
the collect2 line (last line).  In my case I have one which says
-L/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../.. and in /usr/lib I do have
libstdc++.so.6 file.

John.
-- 
John Tytgat, in his comfy chair at home                                 BASS
john.tyt...@aaug.net                             ARM powered, RISC OS driven

_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK

Reply via email to