mod_perl modules on Mac OS X

[prev] [thread] [next] [lurker] [Date index for 2003/08/12]

From: Chris Nandor
Subject: mod_perl modules on Mac OS X
Date: 15:30 on 12 Aug 2003
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