Hi,
In the article <[email protected]>,
[email protected] (FreeBSD mailing list) wrote:
> Perl is failing due to some kind of conflict in library versions:
>
> miniperl -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/lib -e 'use AutoSplit;
> autosplit_lib_modules(@ARGV)' lib/*.pm lib/*/*.pm
> Perl lib version (5.00502) doesn't match executable version (5.00503) at
> /usr/libdata/perl/5.00503/mach/Config.pm line 7.
> BEGIN failed--compilation aborted at
> /usr/obj/usr/src/gnu/usr.bin/perl/perl/lib/AutoSplit.pm line 4.
> BEGIN failed--compilation aborted at -e line 1.
> *** Error code 255
I'd had the same problem.
I solved it by installing new miniperl before building perl itself,
but it doesn't seem to be a good idea to use installled (maybe old
version of) miniperl at this point.
I think the attached patch can be a nice solution.
How do you folks feel about that?
---
Yasuhiro Fukuma (=?ISO-2022-JP?B?GyRCSiE0VhsoQiAbJEI5LzkwGyhC?=)
as Yasu.F @ Kitakyushu.Fukuoka.Japan
Web site: http://www8.big.or.jp/~yasuf/
``InterNIC is NOT NSI!''
Index: Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/Makefile.inc,v
retrieving revision 1.7
diff -u -r1.7 Makefile.inc
--- Makefile.inc 1998/10/12 06:00:30 1.7
+++ Makefile.inc 1999/05/07 01:01:56
@@ -4,6 +4,8 @@
BINDIR?= /usr/bin
+MINIPERL?= ${.OBJDIR}/../miniperl/miniperl
+
SHLIB_MAJOR?= 3
SHLIB_MINOR?= 0
Index: libperl/config.SH-aout.i386
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/libperl/config.SH-aout.i386,v
retrieving revision 1.12
diff -u -r1.12 config.SH-aout.i386
--- config.SH-aout.i386 1999/05/05 19:09:48 1.12
+++ config.SH-aout.i386 1999/05/06 19:10:43
@@ -418,7 +418,7 @@
libc='undef'
libperl='libperl.so.3.0'
libpth='/usr/lib/aout'
-libs='-lm -lc -lcrypt'
+libs='-lxpg4 -lm -lc -lcrypt'
libswanted='sfio socket inet nsl nm ndbm gdbm dbm db dl dld ld sun m c cposix
posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
Index: libperl/config.SH-elf.alpha
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/libperl/config.SH-elf.alpha,v
retrieving revision 1.13
diff -u -r1.13 config.SH-elf.alpha
--- config.SH-elf.alpha 1999/05/05 19:09:48 1.13
+++ config.SH-elf.alpha 1999/05/06 19:10:44
@@ -417,7 +417,7 @@
libc='/usr/lib/libc.so'
libperl='libperl.so.3'
libpth='/usr/lib'
-libs='-lm -lc -lcrypt'
+libs='-lxpg4 -lm -lc -lcrypt'
libswanted='sfio socket inet nsl nm ndbm gdbm dbm db dl dld ld sun m c cposix
posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
Index: libperl/config.SH-elf.i386
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/libperl/config.SH-elf.i386,v
retrieving revision 1.12
diff -u -r1.12 config.SH-elf.i386
--- config.SH-elf.i386 1999/05/05 19:09:48 1.12
+++ config.SH-elf.i386 1999/05/06 19:10:44
@@ -417,7 +417,7 @@
libc='/usr/lib/libc.so'
libperl='libperl.so.3'
libpth='/usr/lib'
-libs='-lm -lc -lcrypt'
+libs='-lxpg4 -lm -lc -lcrypt'
libswanted='sfio socket inet nsl nm ndbm gdbm dbm db dl dld ld sun m c cposix
posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
Index: miniperl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/miniperl/Makefile,v
retrieving revision 1.7
diff -u -r1.7 Makefile
--- Makefile 1998/10/11 18:13:41 1.7
+++ Makefile 1999/03/25 12:20:34
@@ -9,7 +9,7 @@
# Miniperl _must_ be static!!
NOSHARED= yes
DPADD= ${LIBPERL} ${LIBM} ${LIBCRYPT}
-LDADD= -lperl -lm -lcrypt
+LDADD= -lperl -lxpg4 -lm -lcrypt
# Trick the bootstrap tools into thinking that miniperl is perl.
# This gets overwritten.
Index: perl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/perl/Makefile,v
retrieving revision 1.17
diff -u -r1.17 Makefile
--- Makefile 1999/05/02 15:29:44 1.17
+++ Makefile 1999/05/07 01:01:20
@@ -8,7 +8,7 @@
SRCS= perlmain.c config.h
NOSHARED= no
DPADD= lib/auto/DynaLoader/DynaLoader.a ${LIBPERL} ${LIBM} ${LIBCRYPT}
-LDADD= lib/auto/DynaLoader/DynaLoader.a -lperl -lm -lcrypt
+LDADD= lib/auto/DynaLoader/DynaLoader.a -lperl -lxpg4 -lm -lcrypt
LINKS= ${BINDIR}/${PROG} ${BINDIR}/perl5 \
${BINDIR}/${PROG} ${BINDIR}/perl5.00503
@@ -36,7 +36,7 @@
sh cflags.sh
Config.pm: linkfarm
- miniperl ${PERL5SRC}/configpm \
+ ${MINIPERL} ${PERL5SRC}/configpm \
Config.pm Porting/Glossary myconfig config.sh
cd lib ; ln -sf ../${.TARGET}
@@ -47,7 +47,7 @@
sh writemain.sh
autosplit: linkfarm Config.pm lib/*.pm lib/*/*.pm
- miniperl -I${.OBJDIR}/lib \
+ ${MINIPERL} -I${.OBJDIR}/lib \
-e 'use AutoSplit; autosplit_lib_modules(@ARGV)' \
lib/*.pm lib/*/*.pm
touch ${.TARGET}
@@ -55,7 +55,7 @@
.for I in ${STATIC_EXT}
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm
cd ext/${I:H}; \
- miniperl -I${.OBJDIR}/lib Makefile.PL \
+ ${MINIPERL} -I${.OBJDIR}/lib Makefile.PL \
LINKTYPE=static INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3; \
make -B config PERL_SRC=${.OBJDIR}
@@ -72,7 +72,7 @@
.for I in ${DYNAMIC_EXT}
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm pod2man
cd ext/${I:H}; \
- miniperl -I${.OBJDIR}/lib Makefile.PL \
+ ${MINIPERL} -I${.OBJDIR}/lib Makefile.PL \
LINKTYPE=dynamic INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3 \
INST_LIB=${.OBJDIR}/build/${I:H} \
@@ -93,7 +93,7 @@
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags lib/Config.pm
mkdir -p ${.OBJDIR}/lib/auto/${I:H} ;\
cd ext/${I:H} ;\
- miniperl -I${.OBJDIR}/lib Makefile.PL \
+ ${MINIPERL} -I${.OBJDIR}/lib Makefile.PL \
INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
INSTALLMAN3DIR=/usr/share/perl/man3 \
INST_LIB=${.OBJDIR}/lib/auto/${I:H} \
@@ -109,14 +109,14 @@
pod2man: Config.pm autosplit ${PERL5SRC}/pod/pod2man.PL
ln -sf ${PERL5SRC}/pod/pod2man.PL
- miniperl -I${.OBJDIR}/lib pod2man.PL
+ ${MINIPERL} -I${.OBJDIR}/lib pod2man.PL
man3pages: pod2man
cd ${.OBJDIR}/lib ;\
for i in `find . -name \*.pm | grep -v Functions.pm` ; do \
j=`echo $$i | sed -e 's|./||' -e 's|/|::|g' -e 's|.pm|.3|'` ;\
echo Manifying $$j ;\
- miniperl -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > $$j ;\
+ ${MINIPERL} -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > $$j ;\
gzip -fn $$j ;\
done
cd ${.OBJDIR}/ext ;\
@@ -127,7 +127,7 @@
-e 's|/|::|g' -e 's|.pm|.3|' -e 's|.pod|.3|'`;\
i=`echo $$i | sed -e 's|./||'` ;\
echo Manifying $$j ;\
- miniperl -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > ../lib/$$j ;\
+ ${MINIPERL} -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i >
../lib/$$j ;\
gzip -fn ../lib/$$j ;\
done
touch ${.TARGET}
Index: pod/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/Makefile.inc,v
retrieving revision 1.1
diff -u -r1.1 Makefile.inc
--- Makefile.inc 1998/09/09 07:20:27 1.1
+++ Makefile.inc 1999/05/07 01:01:12
@@ -3,6 +3,7 @@
#
PERL5SRC?= ${.CURDIR}/../../../../../contrib/perl5
+MINIPERL?= ${.OBJDIR}/../../miniperl/miniperl
MINIPERLOPT?= -I${.OBJDIR}/../../perl/lib -I${.OBJDIR}/../../perl
CLEANFILES+= ${PROG}.1 ${PROG}.PL
Index: pod/pod/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/pod/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile 1999/05/02 15:29:48 1.3
+++ Makefile 1999/05/07 00:59:49
@@ -18,7 +18,7 @@
@ln -sf ${.OODATE} ${.TARGET}
${I}.1: ${I}.pod
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../pod2man/pod2man ${.OODATE} \
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../pod2man/pod2man ${.OODATE} \
> ${.TARGET}
MAN1+= ${I}.1
Index: pod/pod2html/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/pod2html/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile 1998/09/09 07:20:27 1.1
+++ Makefile 1999/05/07 00:59:57
@@ -5,10 +5,10 @@
PROG= pod2html
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${PROG}.PL
+ ${MINIPERL} ${MINIPERLOPT} ${PROG}.PL
${PROG}.1: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../pod2man/pod2man ${PROG}.PL >
${PROG}.1
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../pod2man/pod2man ${PROG}.PL >
${PROG}.1
.include <bsd.prog.mk>
Index: pod/pod2latex/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/pod2latex/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile 1998/09/09 07:20:27 1.1
+++ Makefile 1999/05/07 01:00:05
@@ -7,7 +7,7 @@
NOMAN= true
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${PROG}.PL
+ ${MINIPERL} ${MINIPERLOPT} ${PROG}.PL
.include <bsd.prog.mk>
Index: pod/pod2man/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/pod2man/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile 1998/09/09 07:20:28 1.1
+++ Makefile 1999/05/07 01:00:22
@@ -5,10 +5,10 @@
PROG= pod2man
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${PROG}.PL
+ ${MINIPERL} ${MINIPERLOPT} ${PROG}.PL
${PROG}.1: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../pod2man/pod2man ${PROG}.PL \
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../pod2man/pod2man ${PROG}.PL \
> ${PROG}.1
.include <bsd.prog.mk>
Index: pod/pod2text/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/pod2text/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile 1998/09/09 07:20:28 1.1
+++ Makefile 1999/05/07 01:00:32
@@ -7,7 +7,7 @@
NOMAN= true
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${PROG}.PL
+ ${MINIPERL} ${MINIPERLOPT} ${PROG}.PL
.include <bsd.prog.mk>
Index: suidperl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/suidperl/Makefile,v
retrieving revision 1.7
diff -u -r1.7 Makefile
--- Makefile 1999/05/02 15:29:52 1.7
+++ Makefile 1999/05/07 01:02:43
@@ -8,7 +8,7 @@
SRCS= perlmain.c sperl.c config.h
NOSHARED= no
DPADD= lib/auto/DynaLoader/DynaLoader.a ${LIBPERL} ${LIBM} ${LIBCRYPT}
-LDADD= lib/auto/DynaLoader/DynaLoader.a -lperl -lm -lcrypt
+LDADD= lib/auto/DynaLoader/DynaLoader.a -lperl -lxpg4 -lm -lcrypt
BINOWN= root
BINMODE=4511
LINKS= ${BINDIR}/${PROG} ${BINDIR}/sperl5.00503
@@ -34,7 +34,7 @@
sh cflags.sh
Config.pm: linkfarm
- miniperl ${PERL5SRC}/configpm \
+ ${MINIPERL} ${PERL5SRC}/configpm \
Config.pm Porting/Glossary myconfig config.sh
cd lib ; ln -sf ../${.TARGET}
@@ -45,7 +45,7 @@
sh writemain.sh
autosplit: linkfarm Config.pm lib/*.pm lib/*/*.pm
- miniperl -I${.OBJDIR}/lib \
+ ${MINIPERL} -I${.OBJDIR}/lib \
-e 'use AutoSplit; autosplit_lib_modules(@ARGV)' \
lib/*.pm lib/*/*.pm
touch ${.TARGET}
@@ -53,7 +53,7 @@
.for I in ${STATIC_EXT}
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm
cd ext/${I:H}; \
- miniperl -I${.OBJDIR}/lib Makefile.PL \
+ ${MINIPERL} -I${.OBJDIR}/lib Makefile.PL \
LINKTYPE=static INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3; \
make -B config PERL_SRC=${.OBJDIR}
Index: utils/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/utils/Makefile.inc,v
retrieving revision 1.2
diff -u -r1.2 Makefile.inc
--- Makefile.inc 1998/09/10 10:51:10 1.2
+++ Makefile.inc 1999/05/07 01:03:31
@@ -3,13 +3,14 @@
#
PERL5SRC= ${.CURDIR}/../../../../../contrib/perl5
+MINIPERL?= ${.OBJDIR}/../../miniperl/miniperl
MINIPERLOPT?= -I${.OBJDIR}/../../perl/lib -I${.OBJDIR}/../../perl
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OODATE}
+ ${MINIPERL} ${MINIPERLOPT} ${.OODATE}
${PROG}.1: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man ${.OODATE}
> ${.TARGET}
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man
${.OODATE} > ${.TARGET}
${PROG}.PL: ${PERL5SRC}/utils/${PROG}.PL
@ln -sf ${.OODATE} ${.TARGET}
Index: utils/h2ph/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/utils/h2ph/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile 1999/05/02 15:29:56 1.4
+++ Makefile 1999/05/07 01:03:54
@@ -8,5 +8,5 @@
afterinstall:
cd ${DESTDIR}/usr/include; \
- miniperl ${.OBJDIR}/${PROG} -d \
+ ${MINIPERL} ${.OBJDIR}/${PROG} -d \
${DESTDIR}/usr/libdata/perl/5.00503/mach * */*
Index: x2p/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/x2p/Makefile.inc,v
retrieving revision 1.2
diff -u -r1.2 Makefile.inc
--- Makefile.inc 1998/09/10 10:51:10 1.2
+++ Makefile.inc 1999/05/07 01:04:19
@@ -3,6 +3,7 @@
#
PERL5SRC= ${.CURDIR}/../../../../../contrib/perl5
+MINIPERL?= ${.OBJDIR}/../../miniperl/miniperl
MINIPERLOPT?= -I${.OBJDIR}/../../perl/lib -I${.OBJDIR}/../../perl
STRIP=
Index: x2p/a2pl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/x2p/a2pl/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- Makefile 1998/09/22 12:00:59 1.6
+++ Makefile 1999/05/07 01:04:31
@@ -32,4 +32,4 @@
ln -sf ${.OODATE} ${.TARGET}
${PROG}.1: ${PROG}.pod
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man ${.OODATE}
> ${.TARGET}
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man
${.OODATE} > ${.TARGET}
Index: x2p/find2pl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/x2p/find2pl/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- Makefile 1998/09/10 10:51:11 1.2
+++ Makefile 1999/05/07 01:04:48
@@ -6,10 +6,10 @@
NOMAN= true
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OODATE}
+ ${MINIPERL} ${MINIPERLOPT} ${.OODATE}
${PROG}.1: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man ${.OODATE}
> ${.TARGET}
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man
${.OODATE} > ${.TARGET}
CLEANFILES+= ${PROG}.1 ${PROG}.PL
Index: x2p/s2pl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/x2p/s2pl/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- Makefile 1998/09/10 10:51:11 1.2
+++ Makefile 1999/05/07 01:05:05
@@ -5,10 +5,10 @@
PROG= s2p
${PROG}: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OODATE}
+ ${MINIPERL} ${MINIPERLOPT} ${.OODATE}
${PROG}.1: ${PROG}.PL
- miniperl ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man ${.OODATE}
> ${.TARGET}
+ ${MINIPERL} ${MINIPERLOPT} ${.OBJDIR}/../../pod/pod2man/pod2man
${.OODATE} > ${.TARGET}
CLEANFILES+= ${PROG}.1 ${PROG}.PL