On Tue, May 15, 2007 at 03:10:13PM -0400, Raffael Cavallaro wrote: > Since the title of this thread is "Mac OS X static library names" > it's worth noting that Mac OS X is UNIX, and Mac OS X really does > care about getting this right, and, in my experience, does. This is > one of the reasons that static linking is deprecated on Mac OS X- the > OS vendor goes to great lengths to assure that dynamic library > upgrades are backwards compatible for that OS version.
I really think a company like Apple will try to get this right, since it is pretty complicated for users to figure out if it goes wrong, and Apple is in the business of making things easy. Given that, though, there are simply problems with how dynamic libraries work that can't be easily solved. My previous example of libchicken having internal pcre global variables that it initializes, and then those same variables are initialized by the user to something else at a later time isn't solved by getting rid of static libraries. Then, even if that gets solved via careful separation of each libraries exposed privates (Hrm, interesting term), if data pointers can go back and forth, then one library may interpret the other's pointer incorrectly. I don't think there is ANYTHING that anyone can do which is the right answer since you basically have to bail at *runtime* if the linker loader notices two APIs of the same kind clashing in the program. -pete _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
