[prev] [thread] [next] [lurker] [Date index for 2003/08/12]
Mac OS X seems to be especially sensitive to symbols in libraries. I don't know why that is, it just is. So say you're building an module for Mac OS X, and at the top of your Makefile.PL you put: use Apache::ExtUtils 'command_table'; because that is what you are supposed to do. Well, you build it on Mac OS X and everything is just dandy. You install. It's all good. Then you come back later: % perl Makefile.PL dyld: perl Undefined symbols: _ap_add_module _ap_find_linked_module _ap_null_cleanup _ap_palloc _ap_register_cleanup _ap_remove_module _perl_clear_symtab _perl_cmd_perl_FLAG _perl_cmd_perl_TAKE1 _perl_cmd_perl_TAKE123 _perl_cmd_perl_TAKE2 _perl_get_startup_pool _perl_perl_cmd_cleanup Trace/BPT trap HUH? I just built and installed this 10 seconds ago, and now I can't build it! command_table require's the module if it exists, so it can see prototypes. But this causes a fatal error on Mac OS X if it sees undefined symbols, which it does. Because it was just too much trouble to use a sane dynamic loading system on Mac OS X. Or something. I figure that since I built it the first time without it "seeing prototypes" this way, it doesn't need to see them now, so I just comment out that line in the module, and hope that in some future Apache module it is not needed any more than it is with the ones I am working with presently. -- Chris Nandor pudge@xxxxx.xxx http://pudge.net/ Open Source Development Network pudge@xxxx.xxx http://osdn.com/
Generated at 14:02 on 01 Jul 2004 by mariachi 0.52