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

Reply via email to