fail installing perl modules in new sparc server
Hi,
I'm trying to install the perl modules needed by my applications in a sparc server SunFire V210 with solaris 9 64bit. All the attempts fail because the interpreter is compiled with forte, this is the explanation i got. I found a solution in CPAN called perlgcc but it doesn't work it build a bad Makefile, the file has a lot of mistakes. Perl.com people tell me to change parameters in the makefiles and Config.pm but it's very hard to find the correct values, i'm not sure i fix the correct things.still it doesn't work.
I need an urgent solution it permits me to add modules without correction in the each makefile. I hope there is a standar procedure to solve it.
Thanks!
[772 byte] By [
goncho] at [2007-11-25 22:35:12]

# 2
Hi,
Here is your solution (I hope). I've being doing this this week and worked.
Look the stuff is connected with the compilers used to complie perl and as you see later other stuff on the sun. At the sun the stuff is compiled with sun compiler which is not provided on the solaris 8, 9 nor 10. Fortunately there is gcc installed on the sol10.
--
-bash-3.00# gcc --version
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-bash-3.00#
--
The perl is compiled with sun compiler cc
--
-bash-3.00# perl -V | more
--More--
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
--More--
Platform:
osname=solaris, osvers=2.10, archname=sun4-solaris-64int
uname='sunos localhost 5.10 sun4u sparc SUNW,Ultra-2'
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=unde
f
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=v8 -D_T
S_ERRNO',
optimize='-xO3 -xspace -xildoff',
cppflags=''
ccversion='Sun WorkShop', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lsee
ksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =''
libpth=/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-R /usr/perl5/5.8.
4/lib/sun4-solaris-64int/CORE'
cccdlflags='-KPIC', lddlflags='-G'
--
What to do? Yes - you are on sol10 - then do it
1. Logon as a root
2. Check your path and compare with
--
-bash-3.00# echo $PATH
/usr/sbin:/usr/bin:/usr/sfw:/usr/sfw/bin:/usr/sfw/lib:/usr/s fw/include:/opt/sfw:
/opt/sfw/bin:/opt/sfw/lib:/opt/sfw/include:/usr/ccs/bin:/usr /ccs/lib
-bash-3.00#
--
if differs upto the last /usr/ccs/lib modify your profile file ( anthing ofter the last /usr/ccs/lib can be aded).
3. Check out the the comands
gcc --version
perl -V
4. If everything upto this step is ok you can proceed
5. You may do the installation of the perl modules in two ways:
a.) with CPAN module - Internet connection MANDATORY
b.) with perl and downloaded tar.gz module
5.a) With CPAN module
5.a.1) Launch the command to configure the CPAN module
perl -MCPAN -e shell
you will be asked to give the answers inorder to configure CPAN
5.a.2) When you see cpan> prompt do the following:
o conf makepl_arg 'CC=gcc CCCDLFLAGS=-fPIC CCFLAGS=" " OPTIMIZE=" " LD=gcc' press return
5.a.3) Type "o conf commit" press return. You may install your modules now with the install command e.g. install HTML::Parser for example.
5.b.1) Download your modules from <a href="http://www.cpan.org" target="_blank">http://www.cpan.org</a> to your server to /var/tmp/packed or whatever folder you want.
5.b.2) unzip then untar and cd into subfolder
5.b.3) type ./Makefile.PL -t 'CC=gcc CCCDLFLAGS=-fPIC CCFLAGS=" " OPTIMIZE=" " LD=gcc'
5.b.4) Type make install
6.) In both methods you have to check if the modules are installed by issuing the commnad:
perl -e 'use Your::Module' e.g.
perl -e 'use HTTP::Parser'
if no error message on the term you are ready
Rem. The differrences are in the flags used to compile and link with these two compilers sun cc and gnu cc. There are of course problems with 64bit values on sun64bit e.g. SPARC and Intel stuff cause Perl does not support real 64bit values yet. The Perl modules should use only floating point represetnation with around 53~bit precision. But this issue depends on the module creator not you if you do not want to do the remedy.
I hope it will help you
good luck