Date: Sun, 17 Jan 1999 20:44:56 +0200 (SAT) From: John Hay <jhay@mikom.csir.co.za> To: ache@nagual.pp.ru, mark@grondar.za Cc: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/gnu/usr.bin/perl/libperl config.SH-aout.i386 config.SH-elf.alpha config.SH-elf.i386 Message-ID: <199901171844.UAA25943@zibbi.mikom.csir.co.za> In-Reply-To: <199901171825.UAA25667@zibbi.mikom.csir.co.za> from John Hay at "Jan 17, 99 08:25:37 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> > On Sun, Jan 17, 1999 at 06:01:11PM +0200, Mark Murray wrote:
> > > "Andrey A. Chernov" wrote:
> > > > > In some folks' "make world", during the build of dynaloader, stdio.h was
> > > > > not found. *Boom*
> > > >
> > > > Can't even imagine how adding "-O -pipe" can affect finding stdio.h. It
> > >
> > > Aaah! You didn't add -O -pipe, you defined the previously undefined
> > > CFLAGS to be ${<something>}. _That_ is what broke things.
> > >
> > > Remember that there are _two_ uses for config-*; one when it is executed
> > > as a real shell script, and the other when it is parsed by Perl. When it
> > > is parsed by perl, the macro substitution breaks.
> >
> > Well, for
> > optimize="${CFLAGS}"
> > shell script produce
> > optimize=""
> > which is right and MakeMaker produce
> > OPTIMIZE= ${CFLAGS}
> > which is right too.
> > Maybe I overlook something?
>
> Well I don't have the whole answer to this thing, but I have a machine
> that did a "make world" successfully but failed a "make release". My
> /etc/make.conf have "CFLAGS= -O2 -pipe" but I don't do anything
> special for "make release", because that is the snaps that end up on
> internat. (The script that is run in the chroot environment to do
> everything during the "make release" do a "export CFLAGS='-O -pipe'".)
>
> It looks like during my "make world" the gnu/usr.bin/perl/perl/Makefile
> didn't pick up the -nostdinc that is being set in src/Makefile.inc1, but
> it was picked up during the "make release", but the -I${DESTDIR}/usr/include
> that is added to CFLAGS in bsd.prog.mk isn't picked up, so it does not
> know where to find the normal include files.
>
> Exactly why I don't know. Perhaps the fact that bsd.prog.mk is included
> halfway in the gnu/usr.bin/perl/perl/Makefile may have something to
> do with it???
>
Just to follow up on my message. Rereading the make output, I'm not 100%
sure that it is in the gnu/usr.bin/perl/perl/Makefile, so I'd rather give
give the pieces of output.
Here is the "make world" that finished successfully:
-----------------
Extracting cflags (with variable substitutions)
cd ext/DynaLoader; miniperl -I/usr/obj/a/src/gnu/usr.bin/perl/perl/lib Makefile
.PL LINKTYPE=static INSTALLDIRS=perl PERL_SRC=/usr/obj/a/src/gnu/usr.bin/perl/p
erl LIBS="-lperl" INSTALLMAN3DIR=/usr/obj/a/src/tmp/usr/share/perl/man3; make
-B config PERL_SRC=/usr/obj/a/src/gnu/usr.bin/perl/perl
Writing Makefile for DynaLoader
mkdir /usr/obj/a/src/gnu/usr.bin/perl/perl/lib/auto/DynaLoader
cd ext/DynaLoader; make -B all PERL_SRC=/usr/obj/a/src/gnu/usr.bin/perl/perl
/usr/obj/a/src/tmp/usr/bin/miniperl -I/usr/obj/a/src/gnu/usr.bin/perl/perl/lib -
I/usr/obj/a/src/gnu/usr.bin/perl/perl/lib -I/usr/obj/a/src/gnu/usr.bin/perl/perl
/lib -I/usr/obj/a/src/gnu/usr.bin/perl/perl/lib DynaLoader_pm.PL
cp DynaLoader.pm /usr/obj/a/src/gnu/usr.bin/perl/perl/lib/DynaLoader.pm
AutoSplitting /usr/obj/a/src/gnu/usr.bin/perl/perl/lib/DynaLoader.pm (/usr/obj/a
/src/gnu/usr.bin/perl/perl/lib/auto/DynaLoader)
cp dl_dlopen.xs DynaLoader.xs
/usr/obj/a/src/tmp/usr/bin/miniperl -I/usr/obj/a/src/gnu/usr.bin/perl/perl/lib -
I/usr/obj/a/src/gnu/usr.bin/perl/perl/lib /usr/obj/a/src/gnu/usr.bin/perl/perl/l
ib/ExtUtils/xsubpp -noprototypes -typemap /usr/obj/a/src/gnu/usr.bin/perl/perl/l
ib/ExtUtils/typemap DynaLoader.xs >xstmp.c && mv xstmp.c DynaLoader.c
cc -c -O2 -pipe -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" -DPIC -fpic -I/u
sr/obj/a/src/gnu/usr.bin/perl/perl -DPERL_CORE -DLIBC="" DynaLoader.c
rm -rf /usr/obj/a/src/gnu/usr.bin/perl/perl/lib/auto/DynaLoader/DynaLoader.a
-----------------
And here is the "make release" that broke:
-----------------
Extracting cflags (with variable substitutions)
cd ext/DynaLoader; miniperl -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/lib Makefi
le.PL LINKTYPE=static INSTALLDIRS=perl PERL_SRC=/usr/obj/usr/src/gnu/usr.bin/pe
rl/perl LIBS="-lperl" INSTALLMAN3DIR=/usr/obj/usr/src/tmp/usr/share/perl/man3;
make -B config PERL_SRC=/usr/obj/usr/src/gnu/usr.bin/perl/perl
Writing Makefile for DynaLoader
mkdir /usr/obj/usr/src/gnu/usr.bin/perl/perl/lib/auto/DynaLoader
cd ext/DynaLoader; make -B all PERL_SRC=/usr/obj/usr/src/gnu/usr.bin/perl/perl
/usr/obj/usr/src/tmp/usr/bin/miniperl -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/l
ib -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/lib -I/usr/obj/usr/src/gnu/usr.bin/p
erl/perl/lib -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/lib DynaLoader_pm.PL
cp DynaLoader.pm /usr/obj/usr/src/gnu/usr.bin/perl/perl/lib/DynaLoader.pm
AutoSplitting /usr/obj/usr/src/gnu/usr.bin/perl/perl/lib/DynaLoader.pm (/usr/obj
/usr/src/gnu/usr.bin/perl/perl/lib/auto/DynaLoader)
cp dl_dlopen.xs DynaLoader.xs
/usr/obj/usr/src/tmp/usr/bin/miniperl -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/l
ib -I/usr/obj/usr/src/gnu/usr.bin/perl/perl/lib /usr/obj/usr/src/gnu/usr.bin/per
l/perl/lib/ExtUtils/xsubpp -noprototypes -typemap /usr/obj/usr/src/gnu/usr.bin/p
erl/perl/lib/ExtUtils/typemap DynaLoader.xs >xstmp.c && mv xstmp.c DynaLoader.c
cc -c -nostdinc -O -pipe -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" -DPIC -
fpic -I/usr/obj/usr/src/gnu/usr.bin/perl/perl -DPERL_CORE -DLIBC="" DynaLoader.c
In file included from DynaLoader.xs:107:
/usr/obj/usr/src/gnu/usr.bin/perl/perl/perl.h:301: sys/types.h: No such file or directory
/usr/obj/usr/src/gnu/usr.bin/perl/perl/perl.h:312: stdarg.h: No such file or dir
ectory
----------------
John
--
John Hay -- John.Hay@mikom.csir.co.za
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901171844.UAA25943>
