Perl / perl5

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

Not OK: perl 5.00560 on OPENSTEP-Mach 4_2 (UNINSTALLED) #385

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

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

Searchable as RT1220$

p5pRT commented 24 years ago

From hansm@icgned.icgroup.nl

5.005_60 fails to build on NeXTstep. There are six problems​:

1. PERL_POLLUTE_MALLOC is on by default\, and it's broken. In 5.005 and earlier it could be made to work by also defining HIDEMYMALLOC. That option is not available in 5.006. I think it should be reintroduced as a suboption of PERL_BINCOMPAT_5005.

Incidentally\, the INSTALL file suggest that PERL_BINCOMPAT_5005 and PERL_POLLUTE_MALLOC are off by default. They aren't in _60.

2. Perl.h tries to declare atof() as extern. On NeXT it's a macro.

3. "NXIsAlNum" is misspelled in handy.h

4. The FD_CLOEXEC macro is missing on NeXTstep. The close-on-exec feature exists; only the macro is missing.

5. Gcc warns about line 3664 in util.c​: the comparison

  STDIO_STREAM_ARRAY[i]._file >= 0

is always true\, since the _file field is unsigned.

6. Test 192 in pragma/warning fails. This a known problem for glibc based platforms\, but NeXTstep doesn't use glibc.

The patch below addresses problems 1..4.

-- HansM

Index​: perl.h --- perl.h.orig Mon Aug 2 22​:21​:56 1999 *** perl.h Sun Aug 15 22​:34​:18 1999 @​@​ -487\,6 +487\,10 @​@​ # include "embed.h" #endif

+#if defined(NeXT) || defined(__NeXT) +#undef PERL_POLLUTE_MALLOC +#endif + #define MEM_SIZE Size_t

#if defined(STANDARD_C) && defined(I_STDDEF) @​@​ -1928\,7 +1932\,9 @​@​ /* Fix these up for __STDC__ */ #ifndef DONT_DECLARE_STD char *mktemp (char*); +#ifndef atof double atof (const char*); +#endif #endif

#ifndef STANDARD_C Index​: handy.h --- handy.h.orig Tue Jul 20 19​:17​:57 1999 *** handy.h Sun Aug 15 23​:25​:35 1999 @​@​ -241\,7 +241\,7 @​@​ #ifdef USE_NEXT_CTYPE

# define isALNUM_LC(c) \ - (NXIsAlnum((unsigned int)(c)) || (char)(c) == '_') + (NXIsAlNum((unsigned int)(c)) || (char)(c) == '_') # define isIDFIRST_LC(c) \   (NXIsAlpha((unsigned int)(c)) || (char)(c) == '_') # define isALPHA_LC(c) NXIsAlpha((unsigned int)(c)) @​@​ -249\,7 +249\,7 @​@​ # define isDIGIT_LC(c) NXIsDigit((unsigned int)(c)) # define isUPPER_LC(c) NXIsUpper((unsigned int)(c)) # define isLOWER_LC(c) NXIsLower((unsigned int)(c)) -# define isALNUMC_LC(c) NXIsAlnum((unsigned int)(c)) +# define isALNUMC_LC(c) NXIsAlNum((unsigned int)(c)) # define isCNTRL_LC(c) NXIsCntrl((unsigned int)(c)) # define isGRAPH_LC(c) NXIsGraph((unsigned int)(c)) # define isPRINT_LC(c) NXIsPrint((unsigned int)(c)) Index​: pp_sys.c --- pp_sys.c.orig Mon Aug 2 18​:07​:41 1999 *** pp_sys.c Sun Aug 15 21​:51​:45 1999 @​@​ -187\,6 +187\,10 @​@​ # include \<sys/access.h> #endif

+#if defined(HAS_FCNTL) && defined(F_SETFD) && !defined(FD_CLOEXEC) +#define FD_CLOEXEC 1 +#endif + #undef PERL_EFF_ACCESS_R_OK /* EFFective uid/gid ACCESS R_OK */ #undef PERL_EFF_ACCESS_W_OK #undef PERL_EFF_ACCESS_X_OK


Site configuration information for perl 5.00560​:

Configured by hansm at Sun Aug 15 19​:49​:47 MET DST 1999.

Summary of my perl5 (revision 5.0 version 5 subversion 60) configuration​:   Platform​:   osname=next\, osvers=4_2\, archname=OPENSTEP-Mach   uname='bombadil '   config_args='-des -Dcf_email=hansmu@​xs4all.nl -Dprefix=/usr/local -Doptimize=-g -O'   hint=recommended\, useposix=undef\, d_sigaction=undef   usethreads=undef useperlio=undef d_sfio=undef   use64bits=undef usemultiplicity=undef   Compiler​:   cc='cc'\, optimize='-g -O'\, gccversion=NeXT DevKit-based CPP 4.0   cppflags='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -arch m68k -DDEBUGGING -I/usr/local/include'   ccflags ='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -arch m68k -arch i386 -DDEBUGGING -I/usr/local/include'   stdchar='char'\, d_stdstdio=define\, usevfork=false   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=12   alignbytes=8\, usemymalloc=y\, prototype=define   Linker and Libraries​:   ld='cc'\, ldflags ='-dynamic -prebind -arch m68k -arch i386 -L/usr/local/lib'   libpth=/lib /usr/lib /usr/local/lib   libs=   libc=/NextLibrary/Frameworks/System.framework/System\, so=dylib\, useshrplib=true\, libperl=libperl.5.dylib   Dynamic Linking​:   dlsrc=dl_next.xs\, dlext=bundle\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags=' '\, lddlflags='-dynamic -bundle -undefined suppress -arch m68k -arch i386 -L/usr/local/lib'

Locally applied patches​:  


@​INC for perl 5.00560​:   lib   /Users/hansm/lib/perl   /usr/local/lib/perl5/5.00560/OPENSTEP-Mach   /usr/local/lib/perl5/5.00560   /usr/local/lib/site_perl/5.00560/OPENSTEP-Mach   /usr/local/lib/site_perl   .


Environment for perl 5.00560​:   DYLD_LIBRARY_PATH=/Users/hansm/src/perl/build/perl-5.006/perl5.005_60​:   HOME=/Users/hansm   LANG (unset)   LANGUAGE (unset)   LD_LIBRARY_PATH (unset)   LOGDIR (unset)   PATH=/Users/hansm/bin​:/usr/local/bin​:/usr/games​:/usr/ucb​:/bin​:/usr/bin​:/usr/etc​:/Users/hansm/bin/cookies​:/LocalApps/Opener.app​:.   PERL5LIB=/Users/hansm/lib/perl   PERL_BADLANG (unset)   SHELL=/bin/sh