I just tried to build bleadperl and got this:
Making DynaLoader (static_pic)
Writing Makefile for DynaLoader
make[1]: Entering directory `/home/sthoenna/bleadperl/p/ext/DynaLoader'
make[1]: Leaving directory `/home/sthoenna/bleadperl/p/ext/DynaLoader'
make[1]: Entering directory `/home/sthoenna/bleadperl/p/ext/DynaLoader'
../../miniperl.exe "-I../../lib" "-I../../lib" DynaLoader_pm.PL DynaLoader.pm
../../miniperl.exe "-I../../lib" "-I../../lib" XSLoader_pm.PL XSLoader.pm
cp XSLoader.pm ../../lib/XSLoader.pm
cp DynaLoader.pm ../../lib/DynaLoader.pm
AutoSplitting ../../lib/DynaLoader.pm (../../lib/auto/DynaLoader)
make[1]: Leaving directory `/home/sthoenna/bleadperl/p/ext/DynaLoader'
env LD_RUN_PATH=/usr/local/lib/perl5/5.9.3/cygwin-thread-multi-64int/CORE
PATH=/home/sthoenna/bleadperl/p:.:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/bin:/cygdrive/c/Perl5.6/bin/:/cygdrive/c/Perl/bin/:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program\
Files/Common\ Files/Adaptec\
Shared/System:/usr/bin:/usr/lib/lapack:/usr/local:/etc:/usr/lib:/lib:/sbin:/usr/sbin:/usr/libexec
gcc -L/home/sthoenna/bleadperl/p -L/usr/local/lib -o perl perlmain.o
lib/auto/DynaLoader/DynaLoader.a -lperl `cat ext.libs` -lcrypt -lgdbm_compat
gcc: lib/auto/DynaLoader/DynaLoader.a: No such file or directory
make: *** [perl.exe] Error 1
I looked at the Makefile in ext/DynaLoader and it seemed to be missing a
ton of stuff; to get further on, I manually added lines from an older
build. Anybody have any clue what went wrong?
--- Makefile.orig 2005-08-24 01:04:33.236616000 -0700
+++ Makefile 2005-08-24 01:02:49.156956800 -0700
@@ -149,7 +149,7 @@
DLBASE = $(BASEEXT)
VERSION_FROM = DynaLoader_pm.PL
DEFINE = -DPERL_CORE -DLIBC="$(LIBC)"
-OBJECT =
+OBJECT = $(BASEEXT)$(OBJ_EXT)
LDFROM = $(OBJECT)
LINKTYPE = static
BOOTDEP =
@@ -172,9 +172,9 @@
INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT)
INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
-INST_STATIC =
+INST_STATIC = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT)
INST_DYNAMIC =
-INST_BOOT =
+INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs
# Extra linker info
EXPORT_LIST =
@@ -202,6 +202,12 @@
# --- MakeMaker tool_xsubpp section:
+XSUBPPDIR = ../../lib/ExtUtils
+XSUBPP = $(XSUBPPDIR)/xsubpp
+XSPROTOARG = -noprototypes
+XSUBPPDEPS = ../../lib/ExtUtils/typemap $(XSUBPP)
+XSUBPPARGS = -typemap ../../lib/ExtUtils/typemap
+XSUBPP_EXTRA_ARGS =
# --- MakeMaker tools_other section:
SHELL = /bin/sh
@@ -268,9 +274,17 @@
# --- MakeMaker const_loadlibs section:
+# DynaLoader might depend on some other libraries:
+# See ExtUtils::Liblist for details
+#
+LD_RUN_PATH =
# --- MakeMaker const_cccmd section:
+CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \
+ $(CCFLAGS) $(OPTIMIZE) \
+ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
+ $(XS_DEFINE_VERSION)
# --- MakeMaker post_constants section:
@@ -292,12 +306,43 @@
# --- MakeMaker c_o section:
+.c.i:
+ gcc -E -c $(PASTHRU_INC) $(INC) \
+ $(CCFLAGS) $(OPTIMIZE) \
+ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
+ $(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE)
$(DEFINE) $*.c > $*.i
+
+.c.s:
+ $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE)
$*.c
+
+.c$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
+.C$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.C
+
+.cpp$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE)
$*.cpp
+
+.cxx$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE)
$*.cxx
+
+.cc$(OBJ_EXT):
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cc
+
# --- MakeMaker xs_c section:
+.xs.c:
+ $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS)
$*.xs > $*.xsc && $(MV) $*.xsc $*.c
+
# --- MakeMaker xs_o section:
+.xs$(OBJ_EXT):
+ $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc &&
$(MV) $*.xsc $*.c
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
# --- MakeMaker top_targets section:
all :: pure_all
@@ -392,6 +437,11 @@
# --- MakeMaker static_lib section:
+$(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
+ $(RM_RF) $@
+ $(FULL_AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@
+ $(CHMOD) $(PERM_RWX) $@
+ $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld
# --- MakeMaker manifypods section:
@@ -725,7 +775,58 @@
cd $(PERL_SRC) && $(MAKE) lib/Config.pm
+PERL_HDRS = \
+ $(PERL_INC)/EXTERN.h \
+ $(PERL_INC)/INTERN.h \
+ $(PERL_INC)/XSUB.h \
+ $(PERL_INC)/av.h \
+ $(PERL_INC)/cc_runtime.h \
+ $(PERL_INC)/config.h \
+ $(PERL_INC)/cop.h \
+ $(PERL_INC)/cv.h \
+ $(PERL_INC)/dosish.h \
+ $(PERL_INC)/embed.h \
+ $(PERL_INC)/embedvar.h \
+ $(PERL_INC)/fakethr.h \
+ $(PERL_INC)/form.h \
+ $(PERL_INC)/gv.h \
+ $(PERL_INC)/handy.h \
+ $(PERL_INC)/hv.h \
+ $(PERL_INC)/intrpvar.h \
+ $(PERL_INC)/iperlsys.h \
+ $(PERL_INC)/keywords.h \
+ $(PERL_INC)/mg.h \
+ $(PERL_INC)/nostdio.h \
+ $(PERL_INC)/op.h \
+ $(PERL_INC)/opcode.h \
+ $(PERL_INC)/patchlevel.h \
+ $(PERL_INC)/perl.h \
+ $(PERL_INC)/perlio.h \
+ $(PERL_INC)/perlsdio.h \
+ $(PERL_INC)/perlsfio.h \
+ $(PERL_INC)/perlvars.h \
+ $(PERL_INC)/perly.h \
+ $(PERL_INC)/pp.h \
+ $(PERL_INC)/pp_proto.h \
+ $(PERL_INC)/proto.h \
+ $(PERL_INC)/regcomp.h \
+ $(PERL_INC)/regexp.h \
+ $(PERL_INC)/regnodes.h \
+ $(PERL_INC)/scope.h \
+ $(PERL_INC)/sv.h \
+ $(PERL_INC)/thrdvar.h \
+ $(PERL_INC)/thread.h \
+ $(PERL_INC)/unixish.h \
+ $(PERL_INC)/util.h
+
+$(OBJECT) : $(PERL_HDRS)
+
+dl_vmesa.c dl_dld.c dl_aix.c dl_dllload.c dl_none.c dl_mac.c dl_dyld.c
dl_hpux.c dl_beos.c dl_mpeix.c dl_dlopen.c dl_next.c dl_vms.c : $(XSUBPPDEPS)
+
# --- MakeMaker makefile section:
+
+$(OBJECT) : $(FIRST_MAKEFILE)
+
# We take a very conservative approach here, but it's worth it.
# We move Makefile to Makefile.old here to avoid gnu make looping.
$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)