You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Andre Fischer <af...@a-w-f.de> on 2012/01/09 11:55:51 UTC

Re: R: ld: gold vs bfd

On 27.12.2011 00:30, Ariel Constenla-Haile wrote:
> On Fri, Dec 23, 2011 at 12:07:10PM -0300, Ariel Constenla-Haile wrote:
>> On Fri, Dec 23, 2011 at 03:37:39PM +0100, Andre Fischer wrote:
>>>>> I ran into a problem with a Linux build.  On Ubuntu
>>>>> (both 32bit and 64bit) linking of comphelper failed
>>>>> with a lot of unresolved references.  With the help of
>>>>> Herbert I could solve this by using a different linker.
>>>>> Instead of ld.bfd I used ld.gold and could build comphelper
>>>>> and the rest of OpenOffice.
>>>>>
>>>>> On Fedora this seems to work out of the box.
>>>>>
>>>>> I am now working on CoinMP (the lp_solve
>>>>> replacement).  It builds without problems on Windows
>>>>> and
>>>>> Mac but has linker errors on Linux.  Eventually I
>>>>> found that going back to ld.bfd solved this problem.
>>>>>
>>>>> Has anybody else experienced problems with the linker?
>>>>>
>>>>> Does anybody on this list have a deeper understanding of
>>>>> the Linux linkers and can explain
>>>>> what is going on and how to better solve it?
>>
>> the best I've read about linkers is from the gold linker developer, I'll
>> try to search the articles.
>
> Ian Lance Taylor's blog
> http://www.airs.com/blog/archives/38 [begin]
> ...
> http://www.airs.com/blog/archives/57 [end]

Thanks for the links.  Very interesting.

>
> of course somehow too much for the related problem, though it's worth
> reading.
> The classical book on the topic is John Levine's Linkers and Loaders.
 >
>[...]
 >
> Back to the current issue, I've successfully build AOO on Ubuntu this
> weekend, with the default ld.bfd linker.
>
> Ubuntu versions were the latest LTS one, Ubuntu 10.04.3 LTS (Lucid
> Lynx). The generated binaries work fine in the latest Fedora 16 and the
> latest Ubuntu 11.10 (Oneiric Ocelot).
>
> I guess you are building in the latest Ubuntu, so it looks like
> a regression in ubuntu, not a problem in AOO.

Yes, I think so too.  I can build on Ubuntu 10.04 without problem.

I also installed the binutils that are used by 10.04 on a 11.10: still 
the same build error.

>
> It would be interesting to know which version has the buildboot machine.
>

I think it is an Ubuntu 10.04, but can not remember where I read that.


So, that leaves me with two alternatives:

1. Going back to Ubuntu 10.04 or to Fedora and ignore the build problems 
on a recent Ubuntu.

2. Try to fix linking.  I am currently thinking about changing the order 
in which libraries and object files on the linker command line.  This 
order is different in the two build systems (dmake, gbuild), the reason 
why comphelper is the first module whose linking breaks.  It is the 
first module built by gbuild.  With this change I can build up to VCL, 
where the plugins use a semi-standard way to add special libraries to 
the linker command line.

-Andre

>
> Regards