Partial Success installing Perl on Solaris 2.2 
Author Message
 Partial Success installing Perl on Solaris 2.2

I experienced some difficulties installing Perl on Solaris 2.2.  My
installation is still not quite right (one test fails), but it is
functional.  I have attached the comments that I made as I installed it
from scratch today, after I figured out how to get it to work.

Configure insists on adding -D__GNUC__ to CPPFLAGS.  My GCC predefines
this, so it is not necessary, and causes redefined warnings.  This is not
Configure-able by me, so I have to manually remove it from makedepend and
Makefile before I make depend.

Each time I _RE-RUN_ Configure, cc flags behaves a bit wierd.  The setting
I want is "-traditional -Dvolatile=__volatile".  This is in my config.sh.
When I run configure, it comes back with "-traditional
-Dvolatile=__volatile -I/usr/ucbinclude -traditional -Dvolatile=__volatile"
as the default.  In other words, it is adding the default stuff to the
existing stuff without stripping duplicates.

Each time I _RE-RUN_ Configure, additional libraries adds back "-ldbm and
-l malloc".  These are libraries that I explicitly do not want to include
on my machine, since Sun promises that they will not be supported in the
future, and I want to save myself some grief.

I had to use perl's malloc instead of sun's, because sun caused a coredump.
 I posted a note to comp.lang.perl that described where before I found this
fix.

It would be sort of cool if the configure script asked where my GNU
software is loaded, like I can do with --prefix=/opt/gnu when I use gnu
configure.  

Until I copied ./cppstdin to /opt/gnu/bin/cppstdin (my local-gnu binary
directory), t/comp/cpp failed because this file was not found.  Now, the
t/comp/cpp test is complaining "645.c:10: unterminated character constant",
but reutrns an ok, and TEST now reports "All tests successful."

Here are my installation notes, as I did it for my system.  While they are
not exactly step-by-step, they are good enough for me to make perl from
scratch:

./Configure

accept defaults except as follows:

/opt/gnu/man/man1

gcc

additional cc flags: -traditional -Dvolatile=__volatile

additional libraries: -lsocket -lnsl -lmalloc -lm <-- I had intended to
include -lgdbm here, but I notice that I forgot in the log from my last
compile and it seems to work just fine.  The same test fails below if
-lgdbm is here.

executables reside in: /opt/gnu/bin

use malloc that comes with perl: y  <-- this is the trick to prevent bus
errors

perl aux files: /opt/gnu/lib/perl

bison -y

if you made any errors, edit config.sh here: !cp config.sh
config.sh.orig;sed -e "s/-D__GNUC__" config.sh.orig >config.sh

run make depend now? y

make

make test   <-- currently, comp/cpp complains "645.c:10: unterminated
character constant", but returns an ok, and TEST  reports "All tests
successful.".  This is a problem, but I am living with it, as I have to
move on to other installs.

make install

--



Wed, 03 Apr 1996 05:05:17 GMT  
 Partial Success installing Perl on Solaris 2.2

Quote:
>Here are my installation notes, as I did it for my system.  While they are
>not exactly step-by-step, they are good enough for me to make perl from
>scratch:
>./Configure

> [...]

>additional libraries: -lsocket -lnsl -lmalloc -lm <-- I had intended to
>include -lgdbm here, but I notice that I forgot in the log from my last
>compile and it seems to work just fine.

You don't need -lmalloc since you are using Perl's malloc routines.

Quote:
>make test   <-- currently, comp/cpp complains "645.c:10: unterminated
>character constant", but returns an ok, and TEST  reports "All tests
>successful.".  This is a problem, but I am living with it, as I have to
>move on to other installs.

This is gcc complaining, not Perl (gcc is used as the C preprocessor).

You also mentioned using GDBM.  If the op/dbm test didn't fail, then you
didn't do it right.  You need to add "-DHAS_GDBM" to the cc flags for
Perl to actually use it.  But this will break the test.  To fix the test,
change <Op.dbmx.*> to 'Op.dbmx' and remove the '.pag' extensions from the
filenames in t/op/dbm.t, and change the last line of the test to "unlink
'Op.dbmx';"

Another thing I should mention is that if you want reliable signals, you
need to edit a few files and recompile:

        vi doarg.c eval.c stab.c util.c
                add the following line under '#include <signal.h>'
                #define signal(x,y) sigset((x),(y))

The sigset() command is a direct replacement for signal() that doesn't
reset the signal handler each time the signal is caught, and it blocks
the signal while in the signal handler.

Michael D'Errico



Thu, 04 Apr 1996 06:54:33 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Troubles installing perl on Solaris 2.2

2. perl5 install problems on solaris 2.2

3. Solaris 2.2 Perl : DBM and CPP test suite errors

4. perl/Configure on a Sparc 10 with Solaris 2.2

5. sockets and perl and solaris 2.2

6. PERL on SUN SPARC 2000 Solaris 2.2

7. perl & solaris 2.2 :-(

8. perl 4.036 and Solaris 2.2

9. Using perl 4.036 on Solaris 2.2

10. perl test error on Solaris 2.2 and gcc

11. Perl-4.036 on Solaris 2.2

12. Compiling Perl on Solaris 2.2 (help!)

 

 
Powered by phpBB® Forum Software