View mode: basic / threaded / horizontal-split · Log in · Help
October 02, 2012
Linking error: cannot find crti.o
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
October 03, 2012
Re: Linking error: cannot find crti.o
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
Top | Discussion index | About this forum | D home