Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 527 forks source link

Perl 5.6.0 "Configure" fails to recognize gcc 2.95.2 #2285

Closed p5pRT closed 20 years ago

p5pRT commented 23 years ago

Migrated from rt.perl.org#3604 (status was 'resolved')

Searchable as RT3604$

p5pRT commented 23 years ago

From maurizio.loreti@pd.infn.it

Created by loreti@pd.infn.it

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 axcdf4.pd.infn.it 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__); #else
  printf("%s\n"\, "1"); #endif
#endif
  exit(0); } $ gcc --version 2.95.2 $ 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.

Perl Info ``` Flags: category=install severity=medium 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: Platform: osname=dec_osf, osvers=4.0, archname=alpha-dec_osf uname='osf1 axcdf6.pd.infn.it v4.0 878 alpha alpha ' config_args='-Dprefix=/opt/gnu' 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 Compiler: 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/libc.so, so=so, useshrplib=true, libperl=libperl.so 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: /opt/gnu/lib/perl5/5.6.0/alpha-dec_osf /opt/gnu/lib/perl5/5.6.0 /opt/gnu/lib/perl5/site_perl/5.6.0/alpha-dec_osf /opt/gnu/lib/perl5/site_perl/5.6.0 /opt/gnu/lib/perl5/site_perl/5.005/alpha-dec_osf /opt/gnu/lib/perl5/site_perl/5.005 /opt/gnu/lib/perl5/site_perl . Environment for perl v5.6.0: HOME=/home/loreti LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH=/opt/gnu/lib:/usr/local/lib LOGDIR (unset) PATH=/home/loreti/bin:/opt/gnu/bin:/usr/bin:/usr/local/bin:/opt/teTeX/dec/bin:/cern/pro/bin:/usr/bin/X11:/usr/ccs/bin:/usr/ucb PERL_BADLANG (unset) SHELL=/bin/bash ```
p5pRT commented 23 years ago

From @jhi

On Mon\, Jul 31\, 2000 at 02​:55​:06PM +0200\, Maurizio Loreti wrote​:

This is a bug report for perl from loreti@​pd.infn.it\, 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.

Thanks for the report. I now fixed the hints file so that those three-part version numbers should be recognized okay.

p5pRT commented 23 years ago

From @jhi

On Mon\, Jul 31\, 2000 at 09​:12​:05PM -0500\, Jarkko Hietaniemi wrote​:

On Mon\, Jul 31\, 2000 at 02​:55​:06PM +0200\, Maurizio Loreti wrote​:

This is a bug report for perl from loreti@​pd.infn.it\, 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.

Thanks for the report. I now fixed the hints file so that those three-part version numbers should be recognized okay.

Hrrrm. Whether that was worth it is debatable. op/regexp* seem to compile and test okay (they used to be a pain with gcc) in Digital UNIX 4.0E with gcc 2.95.2 but lib/sdbm core still dumps core :-/