To sort of reply to my own message and ask another question... I got ld to do the right thing by putting the -m before the -twolevel_namespace flag (why does this matter? Who knows).
That, however, gives the infamous undefined symbols _des_init_mutex and _des_random_mutex mentioned in http://www.openafs.org/pipermail/openafs-devel/2005-May/012240.html though, the discussion there seems to quickly migrate from apple to windows. >From what I'm reading in that thread, it seems these mutexes are declared but not defined/initialized hence the apple linker doesn't include them in the library table of contents? On Tue, Feb 20, 2007 at 05:18:39PM -0500, Dave Botsch wrote: > I'm not sure it's an issue under 10.4 with the conflicts. > > As far as 10.3... > > supposedly the two linker flags you mention are the default for 10.3 and up > (but I had tried putting them in there as other linker options, anyway), and > still the multiple symbol definition gives an error and not a warning. > > I'm looking back at the man page again for anything else and did find the -m > option, though, the man page seems to be wrong about how to use this option. > > On Tue, Feb 20, 2007 at 04:56:49PM -0500, Marcus Watts wrote: > > ... > > > what's more interesting is that under 10.4, stuff builds. It appears that > > > using > > > the 10.4SDK, xcode is able to do its two level namespace trick and just > > > gives > > > an ld warning that that symbol is there multiple times. > > > > > > Under 10.3SDK, however, (even when building on a 10.4 box), it seems that > > > this > > > doesn't work, even if I specify the twolevel namespace linker option. So, > > > something is different under 10.3, but what? Could it have something to > > > do w. > > > the way the afs libs or the kerberos framework is built under 10.3? > > ... > > > > sure, it's possible. > > man ld > > describes these: > > env LD_TWOLEVEL_NAMESPACE=1 > > -twolevel_namespace > > -multiply_defined warning > > which will certainly modify that "two level namespace trick" so probably > > affect the results. There looks to be quite a few more related ld > > options as well, which might possibly affect how libraries are built (and > > hence explain the behavior you are seeing). 'otool' is at least capable > > of printing the two-level namespace hints. > > > > There's a pretty good chance that the object you built under 10.4 isn't > > completely healthy. Most likely, one set or the other of error messages > > won't be visible - which set is visible may depend on which namespace > > was visible to the routine calling error_message(). This may not > > matter greatly to you - if you are getting link errors mainly or only > > on of aklog, then you may not care because the distribution versions of > > aklog don't usually try to lookup kerberos errors. > > > > -Marcus Watts > > > > -- > ******************************** > David William Botsch > Programmer/Analyst > CNF Computing > [EMAIL PROTECTED] > ******************************** > _______________________________________________ > OpenAFS-devel mailing list > [email protected] > https://lists.openafs.org/mailman/listinfo/openafs-devel > -- ******************************** David William Botsch Programmer/Analyst CNF Computing [EMAIL PROTECTED] ******************************** _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
