[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problem with building gcc-cross-4.8.3 for i686-pc-gnu
From: |
Ludovic Courtès |
Subject: |
Re: problem with building gcc-cross-4.8.3 for i686-pc-gnu |
Date: |
Thu, 05 Feb 2015 13:44:03 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Marek Benc <address@hidden> skribis:
> On 01/31/2015 11:13 PM, Marek Benc wrote:
>
>>
>> The current issue is that, when building cross-gcc, when it reaches
>> libgomp, configure fails when trying to create a dummy binary. For some
>> reason, the compiled cross-compiler needs --rpath to specify where
>> shared libraries are, as without it, it can't find libmachuser.so and
>> libhurduser.so, which causes it to fail.
>>
>
> Well, I figured out a way to solve it, however, I don't know if the
> change is acceptable, since it alters how cross-compilers work.
>
> In the attached patch, which builds upon the one from my previous
> email, I made cross compilers not use binutils' ld directly, but
> instead use the ld-wrapper script.
>
> This means that while the Hurd cross compiler now works, binaries made
> by cross compilers have their library paths hard-coded into their
> RPATH section, which means that they're less flexible, which might be
> a problem. For some reason, the hurd cross-linker can't find libraries
> without specifying a --rpath, which is strange imho.
Using RUNPATH is not a problem: it’s what we always do. ;-)
That said, in practice we haven’t done anything special about it in
cross-compilation contexts and things have worked fine. I believe this
is due to the fact that we’ve only built things that use Libtool, and
Libtool adds --rpath automatically.
Another thing I don’t understand is that we use "--disable-libgomp" in
‘cross-gcc-arguments’, which means that the first cross-gcc (sans libc)
does not build libgomp. What are things going wrong here?
Thanks,
Ludo’.