On Wed, 24 Jul 2002, Steve Linberg wrote: > I installed 5.8.0 tonight from source and it was pure joy - smooth > install, and amazingly smooth install of modules with CPAN afterwards. I > encountered the dyld problems as documented on the list, and the solutions > seemed to work, rebuilding the modules that needed it. > > Now I'm trying to activate an old project of mine that uses mod_perl, > using the current Apple build of Apache 1.3.26/mod_perl 1.26, and in my > PerlRequire'd startup file, I've got "use DBI;", which causes a few dyld > errors when I do "apachectl configtest." If I run a script from the shell > with DBI, it seems to be fine. I've got it narrowed to DBI, that's > definitely what's causing it. I've force-rebuilt it a couple of times > since the 5.8.0 install just to be paranoid, and it's gone fine. > > So here's the question, in which I reveal my ignorance of mod_perl > internals: does mod_perl use whichever Perl is on the machine when the > server starts at runtime, or does Perl get wired into it when it's built? > Is mod_perl going to need to be rebuilt now that /usr/bin/perl is 5.8.0? > If so, has anybody done it? The Apple build is more up-to-date than fink > is, but of course we can't modify it - at least in any way I know of.
You have run into the common binary incompatibility problem that has been giving people using OS X problems. The basic answer is that any module that uses C (in other words, any module that isn't pure perl), that was compiled with perl 5.6.x _must_ be recompiled. The deeper issue here is how the paths are set in hints/darwin.sh. On almost every other platform, perl inserts the version number into the library paths. For instance, on FreeBSD the library paths default to /usr/local/lib/perl5/5.8.0 (or the site_perl path of similar persuasion). This protects people from getting their libraries crossed, saving them from binary compatibility problems. In your case, you'll need to recompile mod_perl, as your new 5.8.0 compiled DBI does not work with the perl 5.6.0 embedded in mod_perl. Does anyone know why the paths are set as they are on OS X. Is it just following the apple install? Or are their deeper reasons? -- Chris Reinhardt [EMAIL PROTECTED] Systems Architect Dynamic DNS Network Services http://www.dyndns.org/
