[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: -Wl,
From: "Marcus D. Hanwell" <marcus () cryos ! org>
Date: 2008-04-06 3:06:13
Message-ID: 200804052306.14094.marcus () cryos ! org
[Download RAW message or body]
On Saturday 05 April 2008 16:46:06 Thiago Macieira wrote:
> Marcus D. Hanwell wrote:
> >I can build the latest libavogadro snapshot but the second I try to link
> > it to one of the engine plugins it explodes stating that it cannot find
> > any of the symbols libavogadro-kalzium should be exporting. Checking
> > with nm I can see all the symbols in libavogadro-kalzium are there.
>
> Use nm -D.
That is the one I needed - now I see all the missing exported symbols.
>
> Besides, why are you linking to plugins? Shouldn't they be loaded
> dynamically?
They are loaded dynamically but they link to the Avogadro library. It seems
the Avogadro library is not exporting enough symbols and my porting efforts
have revealed this issue.
>
> >Removing the -Wl,--no-undefined from the link line it then links fine.
>
> No, it doesn't. It just means it's accepting that the symbols that should
> be there aren't. When you link your application, it'll fail.
>
> You are now just catching the errors earlier.
After quite a bit of searching it turned out that it was the
global -fvisibility=hidden flag coupled with our export macro not defining
the visibility for our exported symbols. We don't use that upstream and I
don't believe it was used in KDE 4.0. I think I have got it fixed now and
committed it to trunk.
If you spot any issues I would appreciate you pointing them out. Otherwise I
will apply these changes to Avogadro trunk too in order to ensure we properly
export symbols when the default visibility is switched to hidden.
Thanks,
Marcus
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic