> > 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 _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev