Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not OK: perl 5.00561 on PA-RISC1.1 10.20 #483

Closed
p5pRT opened this issue Sep 6, 1999 · 3 comments
Closed

Not OK: perl 5.00561 on PA-RISC1.1 10.20 #483

p5pRT opened this issue Sep 6, 1999 · 3 comments

Comments

@p5pRT
Copy link

@p5pRT p5pRT commented Sep 6, 1999

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

Searchable as RT1324$

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Sep 6, 1999

From lewart@www.cvm.uiuc.edu


This has been a problem with HP-UX 10.20 and gcc ever since UV_MAX
was added to perl.h and util.c. "make" dies in util.c​:
  CCCMD = gcc -DPERL_CORE -c -D_HPUX_SOURCE -I/usr/local/include -O
  `sh cflags libperl.a util.o` util.c
  CCCMD = gcc -DPERL_CORE -c -D_HPUX_SOURCE -I/usr/local/include -O
  util.c​: In function `Perl_cast_iv'​:
  util.c​:2716​: parse error before `l'
  make​: *** [util.o] Error 1

This happens because of the following two defines​:
  /usr/include/inttypes.h​:119​:#define UINT32_MAX UINT32_C(4294967295)
  perl.h​:1036​:#define UV_MAX UINT32_MAX
These set each macro to the undigestable value of​:
  4294967295u l

My work-around was to insert the following lines into perl.h
immediately after line 1036​:
  #undef UV_MAX
  #define UV_MAX 4294967295u
Then all was well.

However, I don't know whether perl.h line 1036 should become
something like this​:
  # ifdef WHAT_GOES_HERE?
  # define UV_MAX UINT32_MAX
  # else
  # define UV_MAX 4294967295
  # endif
or instead if something should be done in hints/hpux.sh .

Good luck,
Dan
d-lewart@​uiuc.edu



Site configuration information for perl 5.00561​:

Configured by lewart at Sat Aug 28 23​:13​:01 CDT 1999.

Summary of my perl5 (revision 5.0 version 5 subversion 61) configuration​:
  Platform​:
  osname=hpux, osvers=10.20, archname=PA-RISC1.1
  uname='hp-ux www b.10.20 a 9000715 2013547832 two-user license '
  config_args='-d -Dcc=gcc -Dprefix=/ext/perl5.005_61'
  hint=recommended, useposix=true, d_sigaction=define
  usethreads=undef useperlio=undef d_sfio=undef
  use64bits=undef usemultiplicity=undef
  Compiler​:
  cc='gcc', optimize='-O', gccversion=2.8.1
  cppflags='-D_HPUX_SOURCE -I/usr/local/include'
  ccflags ='-D_HPUX_SOURCE -I/usr/local/include'
  stdchar='unsigned char', d_stdstdio=define, usevfork=false
  intsize=4, longsize=4, ptrsize=4, doublesize=8
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
  alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries​:
  ld='ld', ldflags =' -L/usr/local/lib'
  libpth=/usr/local/lib /lib/pa1.1 /lib /usr/lib /usr/ccs/lib
  libs=-lnsl_s -lndbm -lgdbm -ldb -ldld -lm -lc -lndir -lcrypt -lsec
  libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
  Dynamic Linking​:
  dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred '
  cccdlflags='-fpic', lddlflags='-b -L/usr/local/lib'

Locally applied patches​:
 


@​INC for perl 5.00561​:
  /ext/perl5.005_61/lib/5.00561/PA-RISC1.1
  /ext/perl5.005_61/lib/5.00561
  /ext/perl5.005_61/lib/site_perl/5.00561/PA-RISC1.1
  /ext/perl5.005_61/lib/site_perl
  .


Environment for perl 5.00561​:
  HOME=/home/lewart
  LANG (unset)
  LANGUAGE (unset)
  LD_LIBRARY_PATH (unset)
  LOGDIR (unset)
  PATH=/usr/local/bin​:/usr/bin​:/usr/ccs/bin​:/usr/contrib/bin​:/opt/nettladm/bin​:/opt/pd/bin​:/usr/bin/X11​:/usr/contrib/bin/X11​:/opt/upgrade/bin
  PERL_BADLANG (unset)
  SHELL=/usr/bin/ksh
  SHLIB_PATH (unset)

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Sep 7, 1999

From @jhi

Daniel S. Lewart writes​:

This is a build failure report for perl from d-lewart@​uiuc.edu,
generated with the help of perlbug 1.27 running under perl 5.00561.

-----------------------------------------------------------------
This has been a problem with HP-UX 10.20 and gcc ever since UV_MAX
was added to perl.h and util.c. "make" dies in util.c​:
CCCMD = gcc -DPERL_CORE -c -D_HPUX_SOURCE -I/usr/local/include -O
`sh cflags libperl.a util.o` util.c
CCCMD = gcc -DPERL_CORE -c -D_HPUX_SOURCE -I/usr/local/include -O
util.c​: In function `Perl_cast_iv'​:
util.c​:2716​: parse error before `l'
make​: *** [util.o] Error 1

This happens because of the following two defines​:
/usr/include/inttypes.h​:119​:#define UINT32_MAX UINT32_C(4294967295)
perl.h​:1036​:#define UV_MAX UINT32_MAX
These set each macro to the undigestable value of​:
4294967295u l

My work-around was to insert the following lines into perl.h
immediately after line 1036​:
#undef UV_MAX
#define UV_MAX 4294967295u
Then all was well.

However, I don't know whether perl.h line 1036 should become
something like this​:
# ifdef WHAT_GOES_HERE?
# define UV_MAX UINT32_MAX
# else
# define UV_MAX 4294967295
# endif
or instead if something should be done in hints/hpux.sh .

Well, this sounds so genuinely HP-UX-broken that for the moment
I'm tempted to use

#if defined(__hpux__) && defined(__GNUC__) && UV_MAX == l
# undef UV_MAX
# define UV_MAX 4294967295u
#endif

--
$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Sep 7, 1999

From @jhi

Oops, sorry, I misread the message. UV_MAX is not l, it is
4294967295u l. Right...

--
$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant