Trying to install perl module

Here's the deal:

I'm trying to install perl's DBI Module in my Solaris 11 express ( ALSO TRYING IN SOLARIS 10 )
but I'm getting these errors/warnings when using the respective commands

perl Makefile.PL

Warning: prerequisite ExtUtils::MakeMaker 6.48 not found. We have 6.42.
Warning: prerequisite Test::Simple 0.90 not found. We have 0.72.

    I see you're using perl 5.010000 on i86pc-solaris-64int, okay.
    Remember to actually *read* the README file!
    Use  'make' to build the software (dmake or nmake on Windows).
    Then 'make test' to execute self tests.
    Then 'make install' to install the DBI and then delete this working
    directory before unpacking and building any DBD::* drivers

Then, make:

cc -c   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -DPERL_USE_SAFE_PUTENV -xO3 -xspace -xildoff   -DVERSION=\"1.616\" -DXS_VERSION=\"1.616\" -KPIC "-I/usr/perl5/5.10.0/lib/i86pc-solaris-64int/CORE"  -DDBI_NO_THREADS Perl.c
cc: unrecognized option `-KPIC'
cc: language ildoff not recognized
cc: Perl.c: linker input file unused because linking not done
/usr/bin/perl /usr/perl5/5.10.0/lib/ExtUtils/xsubpp  -typemap /usr/perl5/5.10.0/lib/ExtUtils/typemap -typemap typemap  DBI.xs > DBI.xsc && mv DBI.xsc DBI.c
cc -c   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -DPERL_USE_SAFE_PUTENV -xO3 -xspace -xildoff   -DVERSION=\"1.616\" -DXS_VERSION=\"1.616\" -KPIC "-I/usr/perl5/5.10.0/lib/i86pc-solaris-64int/CORE"  -DDBI_NO_THREADS DBI.c
cc: unrecognized option `-KPIC'
cc: language ildoff not recognized
cc: DBI.c: linker input file unused because linking not done
rm -f blib/arch/auto/DBI/DBI.so
cc  -G DBI.o  -o blib/arch/auto/DBI/DBI.so     \
             \
      
cc: DBI.o: No such file or directory
cc: no input files
make: *** [blib/arch/auto/DBI/DBI.so] Error

I also used perlgcc and gmake but still getting similar errors, can anybody gimme a hand, i will appreciate it very much :slight_smile:

Make sure, /usr/bin is before /usr/gnu/bin in $PATH and that you have installed the sun studio compiler. It seems, you are using the gcc (as /usr/gnu/bin/cc).

 # pkg install sunstudio12u1
  
$ PATH=/usr/bin:/usr/gnu/bin
$ whence cc
/usr/bin/cc

Thanks for replying Hergp.

I think i successfully installed the DBI module, but now i gotta install DBD:

/usr/perl5/something/perlgcc

PLEASE NOTE:

For 'make test' to run properly, you must ensure that the 
database user 'andres' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others. 

mysql> grant all privileges on test.* to 'andres'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

I will use the following settings for compiling and testing:

  cflags        (mysql_config) = -I/usr/sfw/include/mysql -xstrconst -mt
  embedded      (mysql_config) = 
  libs          (mysql_config) = -R/usr/sfw/lib -R/usr/sfw/lib/mysql -L/usr/sfw/lib -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt -lgen -lsocket -lnsl -lm
  mysql_config  (guessed     ) = mysql_config
  nocatchstderr (default     ) = 0
  nofoundrows   (default     ) = 0
  ssl           (guessed     ) = 0
  testdb        (default     ) = test
  testhost      (default     ) = 
  testpassword  (default     ) = 
  testsocket    (default     ) = 
  testuser      (guessed     ) = andres

To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.

Multiple copies of Driver.xst found in: /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int/auto/DBI/ /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int/auto/DBI/ at Makefile.PL line 907
Using DBI 1.616 (for perl 5.008004 on i86pc-solaris-64int) installed in /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int/auto/DBI/
Writing Makefile for DBD::mysql

then, calling a gmake:

gcc -c  -I/usr/perl5/site_perl/5.8.4/i86pc-solaris-64int/auto/DBI -I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -O2 -fno-strict-aliasing   -DVERSION=\"4.018\" -DXS_VERSION=\"4.018\" -fPIC "-I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE"   dbdimp.c
gcc: language strconst not recognized
gcc: dbdimp.c: linker input file unused because linking not done
gcc -c  -I/usr/perl5/site_perl/5.8.4/i86pc-solaris-64int/auto/DBI -I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -O2 -fno-strict-aliasing   -DVERSION=\"4.018\" -DXS_VERSION=\"4.018\" -fPIC "-I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE"   mysql.c
gcc: language strconst not recognized
gcc: mysql.c: linker input file unused because linking not done
rm -f blib/arch/auto/DBD/mysql/mysql.so
LD_RUN_PATH="/usr/sfw/lib:/usr/lib:/lib" /usr/perl5/5.8.4/bin/perl myld gcc  -G dbdimp.o mysql.o  -o blib/arch/auto/DBD/mysql/mysql.so   -R/usr/sfw/lib -R/usr/sfw/lib/mysql -L/usr/sfw/lib -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt -lgen -lsocket -lnsl -lm   
gcc: dbdimp.o: No existe tal archivo o directorio
gcc: mysql.o: No existe tal archivo o directorio
gmake: *** [blib/arch/auto/DBD/mysql/mysql.so] Error 1

Any suggestions?

I think, this is the same problem as before. You are using gcc instead of cc and the makefile uses '-xstrconst', which is cc-specific.

Either remove '-xstrconst' from the makefile or - better - use the sunstudio compiler.