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

fail on compiler perl on hpux #90

p5pRT opened this issue Jun 21, 1999 · 2 comments

fail on compiler perl on hpux #90

p5pRT opened this issue Jun 21, 1999 · 2 comments


Copy link

@p5pRT p5pRT commented Jun 21, 1999

Migrated from (status was 'resolved')

Searchable as RT894$

Copy link
Collaborator Author

@p5pRT p5pRT commented Jun 21, 1999



  I am compiling perl on my HPux machine.
  I used the cc complier with the option -D_HPUX_SOURCE.
  The HPUX is k570, 2GB RAM, 10.20 O/s.

  see attached log file for error message.

  SOS !!! Is there anyone can help me out???


Get Free Email and Do More On The Web. Visit http​://

Copy link
Collaborator Author

@p5pRT p5pRT commented Jun 21, 1999


(I see you are using the Korn shell. Some ksh's blow up on Configure,
mainly on older exotic systems. If yours does, try the Bourne shell instead.)

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 /usr/bin/awk.
cat is in /usr/bin/cat.
comm is in /usr/bin/comm.
cp is in /usr/bin/cp.
echo is in /usr/bin/echo.
expr is in /usr/bin/expr.
find is in /usr/bin/find.
grep is in /usr/bin/grep.
ls is in /usr/bin/ls.
make is in /usr/bin/make.
mkdir is in /usr/bin/mkdir.
rm is in /usr/bin/rm.
sed is in /usr/bin/sed.
sort is in /usr/bin/sort.
touch is in /usr/bin/touch.
tr is in /usr/bin/tr.
uniq is in /usr/bin/uniq.

Don't worry if any of the following aren't found...
I don't see Mcc out there, offhand.
ar is in /usr/bin/ar.
I don't see byacc out there, either.
cpp is in /usr/lib/cpp.
csh is in /usr/bin/csh.
date is in /usr/bin/date.
egrep is in /usr/bin/egrep.
I don't see gzip out there, either.
I don't see less out there, either.
line is in /usr/bin/line.
ln is in /usr/bin/ln.
more is in /usr/bin/more.
nm is in /usr/bin/nm.
nroff is in /usr/bin/nroff.
perl is in /usr/bin/perl.
pg is in /usr/bin/pg.
sendmail is in /usr/sbin/sendmail.
tee is in /usr/bin/tee.
test is in /usr/bin/test.
uname is in /usr/bin/uname.
I don't see zip out there, either.
Using the test built into your sh.

Checking compatibility between /usr/bin/echo and builtin echo (if any)...
They are compatible. In fact, they may be identical.

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

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.

Which of these apply, if any? [hpux]
The bundled C compiler can not produce shared libraries, so you will
not be able to use dynamic loading.

Configure uses the operating system name and version to set some defaults.
The default value is probably right if the name rings a bell. Otherwise,
since spelling matters for me, either accept the default or answer "none"
to leave it blank.

Operating system name? [hpux]
Operating system version? [10.20]
Perl can be built to take advantage of threads, on some systems.
To do so, Configure must be run with -Dusethreads.

Note that threading is a highly experimental feature, and
some known race conditions still remain. If you choose to try
it, be very sure to not actually deploy it for production
purposes. README.threads has more details, and is required
reading if you enable threads.
Build a threading Perl? [n]
What is your architecture name [PA-RISC2.0]
AFS does not seem to be running...

By default, perl5 will be installed in /opt/perl5.005_03/bin, manual
pages under /opt/perl5.005_03/man, etc..., i.e. with /opt/perl5.005_03 as prefix for
all installation directories. Typically set to /usr/local, but you
may choose /usr if you wish to install perl5 among your system
binaries. If you wish to have binaries under /bin but manual pages
under /usr/local/man, that's ok​: you will be prompted separately
for each of the installation directories, the prefix being only used
to set the defaults.

Installation prefix to use? (~name ok) [/opt/perl5.005_03]
Getting the current patchlevel...
(You have perl5 5.0 patchlevel 5 subversion 3 .)

There are some auxiliary files for perl5 that need to be put into a
private library directory that is accessible by everyone.

Pathname where the private library files will reside? (~name ok) [/opt/perl5.005_03/lib/5.00503]
Perl5 contains architecture-dependent library files. If you are
sharing libraries in a heterogeneous environment, you might store
these files in a separate location. Otherwise, you can just include
them with the rest of the public library files.

Where do you want to put the public architecture-dependent libraries? (~name ok) [/opt/perl5.005_03/lib/5.00503/PA-RISC2.0]
Hmm... Looks kind of like a BSD system, but we'll see...

Congratulations. You aren't running Eunice.

It's not Xenix...

Nor is it Venix...

Some kernels have a bug that prevents setuid #! scripts from being
secure. Some sites have disabled setuid #! scripts because of this.

First let's decide if your kernel supports secure setuid #! scripts.
(If setuid #! scripts would be secure but have been disabled anyway,
don't say that they are secure if asked.)

I don't think setuid scripts are secure (no /dev/fd directory).
(That's for file descriptors, not floppy disks.)

Some systems have disabled setuid scripts, especially systems where
setuid scripts cannot be secure. On systems where setuid scripts have
been disabled, the setuid/setgid bits on scripts are currently
useless. It is possible for perl5 to detect those bits and emulate
setuid/setgid in a secure fashion. This emulation will only work if
setuid scripts have been disabled in your kernel.

Do you want to do setuid/setgid emulation? [n]
System manual is in /usr/man/man1.

Some systems have different model sizes. On most systems they are called
small, medium, large, and huge. On the PDP11 they are called unsplit and
split. If your system doesn't support different memory models, say "none".
If you wish to force everything to one memory model, say "none" here and
put the appropriate flags later when it asks you for other cc and ld flags.
Venix systems may wish to put "none" and let the compiler figure things out.
(In the following question multiple model names should be space separated.)

The default for most systems is "none".

Which memory models are supported? [none]
Use which C compiler? [cc]
Checking for GNU cc in disguise and/or its version number...
You are not using GNU cc.

Hmm... Doesn't look like a MIPS system.

Now, how can we feed standard input to your C preprocessor...
Maybe "cc -E" will work...
Nope...maybe "cc -E -" will work...
Yup, it does.

Some systems have incompatible or broken versions of libraries. Among
the directories listed in the question below, please remove any you
know not to be holding relevant libraries, and add any that are needed.
Say "none" for none.

Directories to use for library searches? [/usr/local/lib /lib/pa1.1 /lib /usr/lib /usr/ccs/lib]
On some systems, shared libraries may be available. Answer 'none' if
you want to suppress searching of shared libraries for the remaining
of this configuration.

What is the file extension used for shared libraries? [sl]
Checking for optional libraries...
No -lsfio.
No -lsocket.
No -linet.
Found -lnsl_s.
No -lnm.
Found -lndbm (shared).
No -lgdbm.
No -ldb.
Found -lmalloc.
No -ldl.
Found -ldld (shared).
No -lsun.
Found -lm (shared).
Found -lc (shared).
No -lcposix.
No -lposix.
Found -lndir.
No -ldir.
Found -lcrypt.
No -lucb.
No -lbsd.
No -lx.

Some versions of Unix support shared libraries, which make executables smaller
but make load time slightly longer.

On some systems, mostly System V Release 3's, the shared library is included
by putting the option "-lc_s" as the last thing on the cc command line when
linking. Other systems use shared libraries by default. There may be other
libraries needed to compile perl5 on your machine as well. If your system
needs the "-lc_s" option, include it here. Include any other special libraries
here as well. Say "none" for none.

Any additional libraries? [-lnsl_s -lndbm -lmalloc -ldld -lm -lc -lndir -lcrypt]
Some C compilers have problems with their optimizers. By default, perl5
compiles with the -O flag to use the optimizer. Alternately, you might want
to use the symbolic debugger, which uses the -g flag (on traditional Unix
systems). Either flag can be specified here. To use neither flag, specify
the word "none".

What optimizer/debugger flag should be used? [-O]
Your C compiler may want other flags. For this question you should include
-I/whatever and -DWHATEVER flags and any other flags used by the C compiler,
but you should NOT include libraries or ld flags like -lwhatever. If you
want perl5 to honor its debug switch, you should include -DDEBUGGING here.
Your C compiler might also need additional flags, such as -D_POSIX_SOURCE.

To use no flags, specify the word "none".

Any additional cc flags? [-D_HPUX_SOURCE]
Let me guess what the preprocessor flags are...
They appear to be​: -Aa -D_HPUX_SOURCE +e

Your C linker may need flags. For this question you should
include -L/whatever and any other flags used by the C linker, but you
should NOT include libraries like -lwhatever.

Make sure you include the appropriate -L/path flags if your C linker
does not normally search all of the directories you specified above,
  /usr/local/lib /lib/pa1.1 /lib /usr/lib /usr/ccs/lib
To use no flags, specify the word "none".

Any additional ld flags (NOT including libraries)? [ -L/usr/local/lib]
Checking your choice of C compiler and flags for coherency...
OK, that should do.

Computing filename position in cpp output for #include directives...
Your cpp writes the filename in the third field of the line.

<malloc.h> found.

<stdlib.h> found.

Do you wish to attempt to use the malloc that comes with perl5? [y] Removing unneeded -lmalloc from library list
libs = -lnsl_s -lndbm -ldld -lm -lc -lndir -lcrypt

Your system wants malloc to return 'void *', it would seem.
Your system uses void free(), it would seem.

Checking out function prototypes...
Your C compiler doesn't seem to understand function prototypes.

Configure​: FATAL ERROR​:
This version of perl5 can only be compiled by a compiler that
understands function prototypes. Unfortunately, your C compiler
  cc -Aa -D_HPUX_SOURCE +e
doesn't seem to understand them. Sorry about that.

If GNU cc is available for your system, perhaps you could try that instead.

Eventually, we hope to support building Perl with pre-ANSI compilers.
If you would like to help in that effort, please contact <perlbug@​>.

Aborting Configure now.

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

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.