[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