Perl / perl5

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

INSTALLATION OF PERL 5.8.7 #8034

Closed p5pRT closed 18 years ago

p5pRT commented 18 years ago

Migrated from rt.perl.org#36645 (status was 'rejected')

Searchable as RT36645$

p5pRT commented 18 years ago

From dick.brezovec@lmco.com

I attempted to install Perl 5.8.7 by using the command​:

# Configure

Below is the results of using this command​: What shall I do now??

This installation shell script will examine your system and ask you questions to determine how the perl5 package should be installed. If you get stuck on a question\, you may use a ! shell escape to start a subshell or execute a command. Many of the questions will have default answers in square brackets; typing carriage return will give you the default.

On some of the questions which ask for file or directory names you are allowed to use the ~name construct to specify the login directory belonging to "name"\, even if you don't have a shell which knows about that. Questions where this is allowed will be marked "(~name ok)".

[Type carriage return to continue]

The prompter used in this script allows you to use shell variables and backticks in your answers. You may use $1\, $2\, etc... to refer to the words in the default answer\, as if the default line was a set of arguments given to a script shell. This means you may also use $* to repeat the whole default line\, so you do not have to re-type everything to add something to the default.

Everytime there is a substitution\, you will have to confirm. If there is an error (e.g. an unmatched backtick)\, the default answer will remain unchanged and you will be prompted again.

If you are in a hurry\, you may run 'Configure -d'. This will bypass nearly all the questions and use the computed defaults (or the previous answers if there was already a config.sh file). Type 'Configure -h' for a list of options. You may also start interactively and then answer '& -d' at any prompt to turn on the non-interactive behaviour for the remainder of the execution.

[Type carriage return to continue]

Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on yours\, your best bet is to edit Configure and run it again. If you can't run Configure for some reason\, you'll have to generate a config.sh file by hand. Whatever problems you have\, let me (perlbug@​perl.org) know how I blew it.

This installation script affects things in two ways​:

1) it may do direct variable substitutions on some of the files included in this kit. 2) it builds a config.h file for inclusion in C programs. You may edit any of these files as the need arises after running this script.

If you make a mistake on a question\, there is no easy way to back up to it currently. The easiest thing to do is to edit config.sh and rerun all the SH files. Configure will offer to let you do this before it runs the SH files.

[Type carriage return to continue]

Locating common programs... awk is in /usr/bin/awk. cat is in /usr/bin/cat. chmod is in /usr/bin/chmod. comm is in /usr/bin/comm. cp is in /usr/bin/cp. echo is in /usr/bin/echo. expr is in /usr/bin/expr. grep is in /usr/bin/grep. ls is in /usr/bin/ls. 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/ccs/bin/ar. I don't see bison out there\, either. 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. gmake is in /cots/util/bin/gmake. gzip is in /cots/util/bin/gzip. less is in /cots/util/bin/less. ln is in /usr/bin/ln. make is in /usr/ccs/bin/make. more is in /usr/bin/more. nm is in /usr/ccs/bin/nm. nroff is in /usr/bin/nroff. pg is in /usr/bin/pg. test is in /usr/bin/test. uname is in /usr/bin/uname. zip is in /usr/bin/zip.> 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.

Checking how to test for symbolic links... You can test for symbolic links with 'test -h'.

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 dos_djgpp irix_6_0 nonstopux sunos_4_0 aix dynix irix_6_1 openbsd sunos_4_1 aix_3 dynixptx isc opus super-ux aix_4 epix isc_2 os2 svr4 altos486 esix4 linux os390 svr5 amigaos fps lynxos os400 ti1500 apollo freebsd machten posix-bc titanos atheos genix machten_2 powerux ultrix_4 aux_3 gnu mint qnx umips beos gnukfreebsd mips rhapsody unicos bsdos gnuknetbsd mpc sco unicosmk convexos greenhills mpeix sco_2_3_0 unisysdynix cxux hpux ncr_tower sco_2_3_1 utekv cygwin i386 netbsd sco_2_3_2 uts darwin interix newsos4 sco_2_3_3 uwin dcosx irix_4 next_3 sco_2_3_4 vmesa dec_osf irix_5 next_3_0 solaris_2 vos dgux irix_6 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? [solaris_2] solaris_8 solaris_8.sh does not exist hint to use instead? [solaris_8] none

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? [solaris]

Operating system version? [2.8]

Perl can be built to use the SOCKS proxy protocol library. To do so\, Configure must be run with -Dusesocks. If you use SOCKS you also need to use the PerlIO abstraction layer\, this will be implicitly selected.

If this doesn't make any sense to you\, just accept the default 'n'. Build Perl for SOCKS? [n]

Previous version of perl5 used the standard IO mechanisms as defined in \<stdio.h>. Versions 5.003_02 and later of perl5 allow alternate IO mechanisms via the PerlIO abstraction layer\, but the stdio mechanism is still available if needed. The abstraction layer can use AT&T's sfio (if you already have sfio installed) or regular stdio. Using PerlIO with sfio may cause problems with some extension modules.

If this doesn't make any sense to you\, just accept the default 'y'. Use the PerlIO abstraction layer? [y]

Perl can be built to take advantage of threads on some systems. To do so\, Configure can be run with -Dusethreads.

Note that Perl built with threading support runs slightly slower and uses more memory than plain Perl. The current implementation is believed to be stable\, but it is fairly new\, and so should be treated with caution.

If this doesn't make any sense to you\, just accept the default 'n'. Build a threading Perl? [n]

Perl can be built so that multiple Perl interpreters can coexist> within the same Perl executable.

If this doesn't make any sense to you\, just accept the default 'n'. Build Perl for multiplicity? [n]

Hmm... Looks kind of like a USG system with BSD features\, but we'll see...

Congratulations. You aren't running Eunice.

It's not Xenix...

Nor is it Venix... 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? [/lib /usr/lib /usr/ccs/lib /usr/ucblib]

On some systems\, shared libraries may be available. Answer 'none' if you want to suppress searching of shared libraries for the remainder of this configuration.

What is the file extension used for shared libraries? [so]

Perl can be built to take advantage of long doubles which (if available) may give more accuracy and range for floating point numbers.

If this doesn't make any sense to you\, just accept the default 'n'. Try to use long doubles if available? [n]

Checking for optional libraries... No -lsfio. Found -lsocket (shared). No -lbind. No -linet. Found -lnsl (shared). No -lnm. No -lndbm. No -lgdbm. Found -ldbm (shared). No -ldb. Found -lmalloc (shared). Found -ldl (shared). No -ldld. Found -lld (shared). No -lsun. Found -lm (shared). Found -lcrypt (shared). Found -lsec (shared). No -lutil. Found -lc (shared). No -lcposix. No -lposix. Found -lucb (shared). No -lbsd. No -lBSD.

In order to compile perl5 on your machine\, a number of libraries are usually needed. Include any other special libraries here as well. Say "none" for none. The default list is almost always right.

What libraries to use? [-lsocket -lnsl -ldbm -lmalloc -ldl -lld -lm -lcrypt -lsec -lc -lucb]

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? [none]

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\, namely /lib /usr/lib /usr/ccs/lib /usr/ucblib To use no flags\, specify the word "none".

Any additional ld flags (NOT including libraries)? [none]

Checking your choice of C compiler and flags for coherency... I've tried to compile and run the following simple program​:

#include \<stdio.h> int main() { printf("Ok\n"); return(0); }

I used the command​:

    cc \-o try \-O try\.c \-lsocket \-lnsl \-ldbm \-lmalloc \-ldl \-lld \-lm \-lcrypt \-

lsec -lc -lucb ./try

and I got the following output​:

ld​: fatal​: library -ldbm​: not found> ld​: fatal​: library -lld​: not found ld​: fatal​: library -lucb​: not found ld​: fatal​: File processing errors. No output written to try I can't compile the test program. (The supplied flags or libraries might be incorrect.)

You have a BIG problem. Shall I abort Configure [y]

Dick Brezovec Staff Computer Security Analyst 408-205-9033

p5pRT commented 18 years ago

From @rgs

Brezovec\, Dick wrote​:

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? [solaris_2] solaris_8 solaris_8.sh does not exist hint to use instead? [solaris_8] none

I think you should try with solaris_2 here. The shell script says :

# For consistency with gcc\, we do not adopt Sun Marketing's # removal of the '2.' prefix from the Solaris version number. # (Configure tries to detect an old fixincludes and needs # this information.)

Usually Configure runs just fine when you accept the defaults.

p5pRT commented 18 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 18 years ago

@rgs - Status changed from 'open' to 'rejected'

p5pRT commented 18 years ago

From dick.brezovec@lmco.com

So do you have any idea of my the script recommended me to abort because I took all the default settings??

Dick Brezovec Staff Computer Security Analyst Southwest Region VAR/P3/ISM POC Cell​: 408-205-9033 Currently working at our San Jose site

-----Original Message----- From​: Rafael Garcia-Suarez via RT [mailto​:perlbug-followup@​perl.org] Sent​: Monday\, July 25\, 2005 2​:09 AM To​: Brezovec\, Dick Subject​: Re​: [perl #36645] INSTALLATION OF PERL 5.8.7

Brezovec\, Dick wrote​:

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? [solaris_2] solaris_8 solaris_8.sh does not exist hint to use instead? [solaris_8] none

I think you should try with solaris_2 here. The shell script says :

# For consistency with gcc\, we do not adopt Sun Marketing's # removal of the '2.' prefix from the Solaris version number. # (Configure tries to detect an old fixincludes and needs # this information.)

Usually Configure runs just fine when you accept the defaults.

p5pRT commented 18 years ago

From @nwc10

Gah. The quoting is all getting mangled. Policy on this list\, and most public lists online isn't top quoting. So\, response after the trimmed quoted text

On Tue\, Aug 09\, 2005 at 05​:07​:40PM -0700\, Brezovec\, Dick wrote​:

So do you have any idea of my the script recommended me to abort because I took all the default settings??

Dick Brezovec Staff Computer Security Analyst Southwest Region VAR/P3/ISM POC Cell​: 408-205-9033 Currently working at our San Jose site

-----Original Message----- From​: Rafael Garcia-Suarez via RT [mailto​:perlbug-followup@​perl.org] Sent​: Monday\, July 25\, 2005 2​:09 AM To​: Brezovec\, Dick Subject​: Re​: [perl #36645] INSTALLATION OF PERL 5.8.7

Brezovec\, Dick wrote​:

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? [solaris_2] solaris_8 solaris_8.sh does not exist hint to use instead? [solaris_8] none

I think you should try with solaris_2 here. The shell script says :

# For consistency with gcc\, we do not adopt Sun Marketing's # removal of the '2.' prefix from the Solaris version number. # (Configure tries to detect an old fixincludes and needs # this information.)

Usually Configure runs just fine when you accept the defaults.

For the original report\, you didn't accept the default settings. You forced "none" where the default for the platform was solaris_2.

From the output from Configure you quoted in the original bug report\, the last few lines were reporting about a C compiler failure. However\, the last line doesn't say that specifically​:

  You have a BIG problem. Shall I abort Configure [y]

Probably we should add the text   "I cannot compile programs with your C compiler" to that.

Nicholas Clark

p5pRT commented 18 years ago

From @doughera88

On Wed\, 10 Aug 2005\, Nicholas Clark wrote​:

On Tue\, Aug 09\, 2005 at 05​:07​:40PM -0700\, Brezovec\, Dick wrote​:

So do you have any idea of my the script recommended me to abort because I took all the default settings??

From the output from Configure you quoted in the original bug report\, the last few lines were reporting about a C compiler failure. However\, the last line doesn't say that specifically​:

You have a BIG problem. Shall I abort Configure [y]

Probably we should add the text "I cannot compile programs with your C compiler" to that.

Here is the full text of the relevant section​:

Checking your choice of C compiler and flags for coherency... I've tried to compile and run the following simple program​:

#include \<stdio.h> int main() { printf("Ok\n"); return(0); }

I used the command​:

    cc \-o try \-O try\.c \-lsocket \-lnsl \-ldbm \-lmalloc \-ldl \-lld \-lm \-lcrypt \-

lsec -lc -lucb ./try

and I got the following output​:

ld​: fatal​: library -ldbm​: not found> ld​: fatal​: library -lld​: not found ld​: fatal​: library -lucb​: not found ld​: fatal​: File processing errors. No output written to try I can't compile the test program. (The supplied flags or libraries might be incorrect.)

You have a BIG problem. Shall I abort Configure [y]

I think that's pretty self-explanatory. I don't think it can be much shorter and still give all the relevant information one needs to try to fix the error.

As others have suggested\, using the proper hint file should fix it. First\, it will remove /usr/ucblib from the list of searched directories. That will take care of the -ldbm and -lucb errors. The hints file will also tell Configure not to bother with -lld\, though I'm not sure offhand why that was a problem. (My vague recollection is that -lld would work but was useless and irrelevant for perl on Solaris.)

--   Andy Dougherty doughera@​lafayette.edu