aleixpol at kde.org
Sat Jul 18 03:01:31 CEST 2009
I've hit a problem when compiling a KDevelop test using gold. If we use the
usual ld it works fine but with gold it requires all the libraries to be
specified. As for what Andreas told me, it looks like linking against the
language would be enough to get the links for the shell and project (since
language links both of them), but my host seems to disagree.
Who's the fault here? any hint?
On Fri, Jul 17, 2009 at 11:12 PM, Andreas Pakulat <apaku at gmx.de> wrote:
> On 17.07.09 22:50:09, Aleix Pol wrote:
> > but they are used by the files we're compiling there, it's not possible
> > linked to the libraries if they're not linked.
> Please read up on CMake's link-interface-libraries. You don't have to
> link explicitly against libs which are pulled in via interface-libs
> already. No matter wether you use symbols from those libs or not.
> The idea is that if you have libraries foo and bar and bar uses foo
> (i.e. links against it). The foo is in the link-interface for bar, if
> bar has symbols from foo in its public interface. This is the case here,
> hence shell is in the link-interface for tests, and project+language are
> in the link-interface for shell. CMake will then make sure that the
> actual linker line contains all libs that are either directly mentioned
> in the cmakelists.txt, or are in the link-interface (directly or
> indirectly) of one of the libs mentioned there (etc...).
> Thus, as I said if this breaks for you using gold, then this is either a
> gold-bug or (more probably) a more general problem with how we use and
> set the link-interface-libs. And for the latter we should contact the
> kde-buildsystem list as I can't see anything wrong.
> Everything will be just tickety-boo today.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Kde-buildsystem