develooper Front page | perl.perl5.porters | Postings from July 2000

[ID 20000731.005] Perl 5.6.0"Configure" fails to recognize gcc 2.95.2

Thread Next
Maurizio Loreti
July 31, 2000 11:15
[ID 20000731.005] Perl 5.6.0"Configure" fails to recognize gcc 2.95.2
Message ID:

This is a bug report for perl from,
generated with the help of perlbug 1.28 running under perl v5.6.0.

[Please enter your report here]

I am managing a mixed cluster of PC/Linux, Sparc/Solaris and
DEC/Digital Unix computers; I have on all of them installed gcc
2.95.2, and I tried to install perl 5.6.0.  I had no problems with
Linux and Solaris: but on DEC Alpha machines the "Configure" script
does not recognize the existence of gcc 2.95.2 (the _only_ gcc in the
PATH).  I succeeded installing perl with the default DEC C compiler,
but that bug is annoying.

The system is:
$ uname -a
OSF1 V4.0 878 alpha alpha

FSF thingies usually identify it as "alphaev56-dec-osf4.0d".

The output of your test program in Configure is:

$ cat foo.c
#include <stdio.h>
int main() {
#ifdef __GNUC__
#ifdef __VERSION__
        printf("%s\n", __VERSION__);
        printf("%s\n", "1");
$ gcc --version
$ gcc -o foo foo.c
$ ./foo
2.95.2 19991024 (release)

Here is what happens:

$ /bin/sh Configure -Dcc=gcc -Dprefix=/opt/gnu
Beginning of configuration questions for perl5.
Checking echo to see how to suppress newlines...
...using \c
The star should be here-->*
First let's make sure your kit is complete.  Checking...
Looks good...
Would you like to see the instructions? [n]  
Locating common programs...
awk is in /opt/gnu/bin/awk.
cat is in /opt/gnu/bin/cat.
comm is in /opt/gnu/bin/comm.
cp is in /opt/gnu/bin/cp.
echo is in /opt/gnu/bin/echo.
expr is in /opt/gnu/bin/expr.
grep is in /opt/gnu/bin/grep.
ls is in /opt/gnu/bin/ls.
make is in /opt/gnu/bin/make.
mkdir is in /opt/gnu/bin/mkdir.
rm is in /opt/gnu/bin/rm.
sed is in /opt/gnu/bin/sed.
sort is in /opt/gnu/bin/sort.
touch is in /opt/gnu/bin/touch.
tr is in /opt/gnu/bin/tr.
uniq is in /opt/gnu/bin/uniq.
Don't worry if any of the following aren't found...
I don't see Mcc out there, offhand.
ar is in /opt/gnu/bin/ar.
I don't see byacc out there, either.
cpp is in /opt/gnu/bin/cpp.
csh is in /usr/bin/csh.
date is in /opt/gnu/bin/date.
egrep is in /opt/gnu/bin/egrep.
gzip is in /opt/gnu/bin/gzip.
less is in /opt/gnu/bin/less.
ln is in /opt/gnu/bin/ln.
more is in /usr/bin/more.
nm is in /opt/gnu/bin/nm.
nroff is in /opt/gnu/bin/nroff.
pg is in /usr/bin/pg.
test is in /opt/gnu/bin/test.
uname is in /opt/gnu/bin/uname.
I don't see zip out there, either.
Using the test built into your sh.
Checking compatibility between /opt/gnu/bin/echo and builtin echo (if any)...
They are not compatible!  You are probably running ksh on a non-USG system.
I'll have to use /opt/gnu/bin/echo instead of the builtin, since Bourne shell doesn't
have echo built in and we may have to run some Bourne shell scripts.  That
means I'll have to use '-n' to suppress newlines now.  Life is ridiculous.

The star should be here-->*
Symbolic links are supported.
Good, your tr supports [:lower:] and [:upper:] to convert case.
Using [:upper:] and [:lower:] to convert case.

First time through, eh?  I have some defaults handy for some systems
that need some extra help getting the Configure answers right:

3b1   	      dynix   	     isc   	   openbsd   	 sunos_4_0   
aix   	      dynixptx       isc_2   	   opus   	 sunos_4_1   
altos486      epix   	     linux   	   os2   	 svr4   
amigaos       esix4   	     lynxos   	   os390   	 svr5   
apollo        fps   	     machten       posix-bc   	 ti1500   
aux_3         freebsd        machten_2     powerux   	 titanos   
beos          genix   	     mint   	   qnx   	 ultrix_4   
bsdos         gnu   	     mips   	   rhapsody   	 umips   
convexos      greenhills     mpc   	   sco   	 unicos   
cxux          hpux   	     mpeix   	   sco_2_3_0     unicosmk   
cygwin        i386   	     ncr_tower     sco_2_3_1     unisysdynix   
darwin        irix_4         netbsd   	   sco_2_3_2     utekv   
dcosx         irix_5         newsos4       sco_2_3_3     uts   
dec_osf       irix_6         next_3   	   sco_2_3_4     uwin   
dgux          irix_6_0       next_3_0      solaris_2     vmesa   
dos_djgpp     irix_6_1       next_4   	   stellar   

You may give one or more space-separated answers, or "none" if appropriate.
A well-behaved OS will have no hints, so answering "none" or just "Policy"
is a good thing.  DO NOT give a wrong version or a wrong OS.

Which of these apply, if any? [dec_osf] 
Your cc seems to be gcc and its version seems to be less than 2.95.
This is not a good idea since old versions of gcc are known to produce
buggy code when compiling Perl (and no doubt for other programs, too).

Therefore, I strongly suggest upgrading your gcc.  (Why don't you
use the vendor cc is also a good question.  It comes with the operating
system and produces good code.)

Note that as of gcc 2.95 (19990728) and Perl 5.6.0 (end of March 2000)
if the said Perl is compiled with the said gcc the lib/sdbm test will 
dump core.  As this doesn't happen with the vendor cc, this is
most probably a lingering bug in gcc.  Therefore unless you have
a better gcc you are still better off using the vendor cc.

Cannot continue, aborting.

[Please do not change anything below this line]
Site configuration information for perl v5.6.0:

Configured by loreti at Mon Jul 31 13:29:05 MET DST 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
    osname=dec_osf, osvers=4.0, archname=alpha-dec_osf
    uname='osf1 v4.0 878 alpha alpha '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=define use64bitall=define uselongdouble=undef usesocks=undef
    cc='cc', optimize='-O4', gccversion=
    cppflags='-std -ieee -D_INTRINSICS -I/usr/local/include -I/opt/gnu/include -DLANGUAGE_C'
    ccflags ='-std -fprm d -ieee -D_INTRINSICS -I/usr/local/include -I/opt/gnu/include -DLANGUAGE_C'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=8, ptrsize=8, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -L/usr/local/lib -L/opt/gnu/lib'
    libpth=/usr/local/lib /opt/gnu/lib /usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib
    libs=-ldbm -ldb -lm -liconv
    libc=/usr/shlib/, so=so, useshrplib=true,
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-rpath,/opt/gnu/lib/perl5/5.6.0/alpha-dec_osf/CORE'
    cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -msym -std -s -L/usr/local/lib -L/opt/gnu/lib'

Locally applied patches:

@INC for perl v5.6.0:

Environment for perl v5.6.0:
    LANG (unset)
    LANGUAGE (unset)
    LOGDIR (unset)
    PERL_BADLANG (unset)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About