gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core release, Wed


From: Nicola Pero
Subject: Re: Core release, Wed
Date: Wed, 20 Jul 2005 13:14:43 +0100 (BST)

> > I'm mostly satisfied with the libraries now, which is to say, I don't 
> > really 
> > have any time to make any significant changes. So I'll plan on freezing the 
> > release this Wednesday. Unless there are any objections.
> 
> Well ...I have nothing very concrete but ... I'm dubious about the recent 
> make packagechange to when the objc library is linked into things (the one 
> which seems to have caused problems on bsd).
> 
> The reason I'm worried is that, on a couple of production machines I wanted 
> to make local bugfix updates to part of my software, and (for no very good 
> reason ... I just like to keep things up to date) I updated the make package 
> on these machines before recompiling my patched code.  Upon relinking I got 
> a load of errors about undefined symbols from the runtime library ... but 
> upon reverting to the earlier make package I was able to build without 
> problems.
> 
> I haven't investigated in any depth ... partly lack of time, partly because 
> I don't want to tinker too much with live production systems running 
> customer-facing services.  The linkage problems may well be something wrong 
> in my makefiles which the make system was masking and is not masking any 
> more, but it may be the case that the make package really should link every 
> tool/app with -lobjc evn though it has already linked the base library with 
> it, I'm just not sure - I find the rules about dynamic libraries confusing.

Thanks - yes, I had exactly that same problem on my office workstation.  
:-)

I believe the problem is that if you switch to the new -make package, you
have to recompile everything from scratch (which I didn't, I reverted to
the old gnustep-make as you did). :-(

My understanding is that before the change, we linked a tool against
-lgnustep-base and -lobjc.  gnustep-base itself was not linked against 
libobjc.

After the change, we now link a tool just against -lgnustep-base.  
gnustep-base itself is now linked to libobjc.

So if your gnustep-base was built with the old gnustep-make, but you're
using the new gnustep-make to link a tool, libobjc is not linked into
gnustep-base (old building style), and will not be linked into the tool
(new building style), so you get undefined symbols because libobjc is
never linked.

Rebuilding only gnustep-base might be enough to fix the problem ... I'd
still rebuild everything just to be sure.

This makes upgrades a bit cumbersome as you have to upgrade everything,
but well that's why we're making a major release I suppose. ;-)

Thanks





reply via email to

[Prev in Thread] Current Thread [Next in Thread]