On Tue, 27 May 2008, David Wheeler wrote: > ----------------------------------------------------------------- > I tried to build 5.6.2 on Mac OS X 10.5.2 with this configuration: First, do you really want 5.6.2? It's almost 5 years old. The current release is 5.10.0. > sh Configure -des -Duseshrplib -Dprefix=/usr/local/perl-5.6.2 > > It failed during `make` with these errors: > env MACOSX_DEPLOYMENT_TARGET=10.3 cc -o libperl.dylib -L/usr/local/lib > -dynamiclib -compatibility_version 1 > -current_version 5.0 > -image_base 0x4be00000 -install_name /usr/ > local/perl-5.6.2/lib/5.6.2/darwin/CORE/libperl.dylib perl.o gv.o toke.o > perly.o op.o regcomp.o dump.o util.o mg.o hv.o av.o run.o pp_hot.o sv.o pp.o > scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o > universal.o xsutils.o globals.o perlio.o perlapi.o > > rm -f opmini.c > cp op.c opmini.c > `sh cflags libperl.dylib opmini.o` -DPERL_EXTERNAL_GLOB opmini.c > CCCMD = cc -DPERL_CORE -c -pipe -fno-common -DPERL_DARWIN > -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -O3 > rm -f opmini.c > DYLD_LIBRARY_PATH=/usr/local/src/perl-5.6.2 cc -L/usr/local/lib -o miniperl \ > miniperlmain.o opmini.o libperl.dylib -ldl -lm -lc -lutil > DYLD_LIBRARY_PATH=/usr/local/src/perl-5.6.2 ./miniperl -w -Ilib -MExporter > -e '<?>' || make minitest > Can't load module File::Glob, dynamic loading not available in this perl. > (You may need to build a new perl executable which either supports > dynamic loading or has the File::Glob module statically linked into it.) > at -e line 1 > Compilation failed in require at -e line 1. > BEGIN failed--compilation aborted at -e line 1. This is odd. miniperl should never be loading File/Glob. Your build log clearly shows opmini.c was correctly built with the -DPERL_EXTERNAL_GLOB flag. [ . . . ] > When I tried again without -Duseshrplib, the build succeeded (hence the > configuration information below is about a static Perl). Is there a pre-existing libperl already installed? If so, then perhaps we're incorrectly picking up the pre-existing libperl. If there is no pre-existing libperl, then I speculate the problem may be a subtle one related to how Mac OS handles name resolution. Specifically, it looks like it's picking up the version of Perl_ck_glob() from op.o (which is inside libperl.dylib) instead of the version in opmini.o, which is linked directly to miniperl. There may be some appropriate linker flag we can use to suppress that behavior. Or, perhaps, we need to build miniperl by directly linking against all the objects instead of linking against libperl.dylib. -- Andy Dougherty doughera@lafayette.eduThread Previous