Perl / perl5

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

perl installation prob on solaris. #2959

Closed p5pRT closed 20 years ago

p5pRT commented 23 years ago

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

Searchable as RT4865$

p5pRT commented 23 years ago

From Daran.Joshi@gs.com

Hi\,

I'm having a problem installing perl on solaris\, i'm trying to install under my home directory and not overwrite /usr/bin/perl. I'm attempting to use workshop as my compiler and believe that my flags must be incorrect.

Please find the attatched output of the install script and the myconfig.

Please note that this isn't an immediate cry for help\, I've tried lots of permutations and can get past the install script but fail on the make. However\, I'm sure the underlying problem is something to do with my C compiler and it's flags.

any assistance you can give will be much appreciated\,

thanks

Josh

\<\<myconfig.txt>> \<\<sh_Configure.txt>>

p5pRT commented 23 years ago

From Daran.Joshi@gs.com

lnfidc015.fi.gs.com​:--> ./myconfig Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration​:   Platform​:   osname=solaris\, osvers=2.6\, archname=sun4-solaris   uname='sunos lnfidc015.fi.gs.com 5.6 generic_105181-16 sun4u sparc sunw\,ultra-60 '   config_args=''   hint=previous\, useposix=true\, d_sigaction=define   usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef   useperlio=undef d_sfio=undef uselargefiles=define   use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef   Compiler​:   cc='/opt/workshop-5.0/SUNWspro/bin/cc'\, optimize='-O'\, gccversion=   cppflags='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'   ccflags ='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'   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=16   ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, usemymalloc=y\, prototype=define   Linker and Libraries​:   ld='ld'\, ldflags =''   libpth=/opt/workshop-5.0/SUNWspro/lib   libs=-lm   libc=/lib/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a   Dynamic Linking​:   dlsrc=dl_none.xs\, dlext=none\, d_dlsymun=undef\, ccdlflags=''   cccdlflags=''\, lddlflags=''

p5pRT commented 23 years ago

From Daran.Joshi@gs.com

sh Configure

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. grep is in /usr/bin/grep. ls is in /usr/bin/ls. make is in /usr/ccs/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/ccs/bin/ar. I don't see byacc out there\, either. cpp is in /opt/bin/cpp. csh is in /usr/bin/csh. date is in /usr/bin/date. egrep is in /usr/bin/egrep. gzip is in /opt/bin/gzip. less is in /opt/bin/less. ln is in /usr/bin/ln. 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 /opt/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.

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

There's also a Policy hint file available\, which should make the site-specific (policy) questions easier to answer.

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? [Policy solaris_2]

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.6]

Perl can be built to take advantage of threads on some systems. To do so\, Configure can 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.

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]

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]

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...

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 /opt/gnu/lib /opt/SunWorkShop/V5N1/Solaris/SUNWspro/SC4.2/lib /lib /usr/lib /usr/ccs/lib] /usr/local/lib /opt/SunWorkShop/V5N1/Solaris/SUNWspro/SC4.2/lib /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 remainder of this configuration.

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

Perl can be built to use the SOCKS proxy protocol library. To do so\, Configure must be run with -Dusesocks.

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

Checking for optional libraries... No -lsfio. Found -lsocket (shared). No -lbind. No -linet. Found -lnsl (shared). No -lnm. No -lndbm. Found -lgdbm (shared). No -ldbm. Found -ldb. Found -ldl (shared). No -ldld. No -lsun. Found -lm (shared). Found -lc (shared). No -lcposix. No -lposix. No -lndir. No -ldir. Found -lcrypt. Found -lsec (shared). No -lbsd. No -lBSD. No -lPW. No -lx. No -liconv.

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 -lgdbm -ldb -ldl -lm -lc -lcrypt -lsec]

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? [-I/usr/local/include -I/opt/gnu/include] -I/usr/local/include

Let me guess what the preprocessor flags are... They appear to be​: -I/usr/local/include

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   /usr/local/lib /opt/SunWorkShop/V5N1/Solaris/SUNWspro/SC4.2/lib /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 -L/opt/SunWorkShop/V5N1/Solaris/SUNWspro/SC4.2/lib]

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"); exit(0); }

I used the command​:

  cc -O -I/usr/local/include -o try -L/usr/local/lib -L/opt/SunWorkShop/V5N1/Solaris/SUNWspro/SC4.2/lib try.c -lsocket -lnsl -lgdbm -ldb -ldl -lm -lc -lcrypt -lsec   ./try

and I got the following output​:

ld.so.1​: ./try​: fatal​: libgdbm.so.1​: open failed​: No such file or directory Killed The program compiled OK\, but exited with status 137. (The supplied flags or libraries might be incorrect.)

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

p5pRT commented 23 years ago

From The RT System itself

This is not a bug in perl\, it is a misconfigured build system\, missing a working GDBM library.