Hi,

In the article <199905031757.kaa40...@mrynet.com>,
free...@mrynet.com (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
 

Reply via email to