www.digitalmars.com         C & C++   DMDScript  

D.gnu - Linking error: cannot find crti.o

reply Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
Hello all,

I'm trying to build GDC from the gdc-4.7 branch and using the gcc-4.7.2
sources, 
on Ubuntu 12.10.

When setting up, I called configure as follows:

../gcc-4.7.2/configure --enable-languages=d --disable-bootstrap 
--with-bugurl="http://gdcproject.org/bugzilla" --enable-checking=yes 
--enable-lto --enable-ld --enable-multilib --enable-shared

After going through most of the compile process, I wind up with the following
error:

----------------------------------------------------------------------------------
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [libgcc_s.so] Error 1
make[2]: Leaving directory 
`/home/joseph/code/D/gdc-4.7/objdir/x86_64-unknown-linux-gnu/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `/home/joseph/code/D/gdc-4.7/objdir'
make: *** [all] Error 2
----------------------------------------------------------------------------------

I'm a complete novice where anything GCC-related is concerned (apart from using 
it) so the error message isn't really meaningful to me.  Googling suggests to 
either install libc0.1-dev (not an Ubuntu package) or libc6-dev (already
installed).

Can anyone advise?

Thanks & best wishes,

     -- Joe
Oct 02 2012
parent =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= <alex lycus.org> writes:
On 03-10-2012 00:00, Joseph Rushton Wakeling wrote:
 Hello all,

 I'm trying to build GDC from the gdc-4.7 branch and using the gcc-4.7.2
 sources, on Ubuntu 12.10.

 When setting up, I called configure as follows:

 ../gcc-4.7.2/configure --enable-languages=d --disable-bootstrap
 --with-bugurl="http://gdcproject.org/bugzilla" --enable-checking=yes
 --enable-lto --enable-ld --enable-multilib --enable-shared

 After going through most of the compile process, I wind up with the
 following error:

 ----------------------------------------------------------------------------------

 /usr/bin/ld: cannot find crti.o: No such file or directory
 collect2: error: ld returned 1 exit status
 make[2]: *** [libgcc_s.so] Error 1
 make[2]: Leaving directory
 `/home/joseph/code/D/gdc-4.7/objdir/x86_64-unknown-linux-gnu/libgcc'
 make[1]: *** [all-target-libgcc] Error 2
 make[1]: Leaving directory `/home/joseph/code/D/gdc-4.7/objdir'
 make: *** [all] Error 2
 ----------------------------------------------------------------------------------


 I'm a complete novice where anything GCC-related is concerned (apart
 from using it) so the error message isn't really meaningful to me.
 Googling suggests to either install libc0.1-dev (not an Ubuntu package)
 or libc6-dev (already installed).

 Can anyone advise?

 Thanks & best wishes,

      -- Joe

I hacked around this by symlinking /usr/lib/<target triple>/crt{i,n,o}.o to /usr/lib/crt{i,n,o}.o. Not an elegant solution, but it did the trick. -- Alex Rønne Petersen alex lycus.org http://lycus.org
Oct 02 2012