Re: DBI-1.50 | make error on Solaris 10

Re: DBI-1.50 | make error on Solaris 10

am 15.07.2007 03:17:34 von jonathan.leffler

------=_Part_14485_18465677.1184462254937
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

I've cc'd dbi-users@perl.org again - I intended to previously...

That's a nuisance. It usually means something is confused about which
headers are where - it could be GCC or Perl or something else.

Have you installed any other C-based modules since you created Perl with
gcc?


OK - you've got Perl 5.8.2 (5.8.8 has been out several years), and it was
built with GCC 2.95 (they've stopped maintaining the GCC 3.x line of
compilers). And the Perl was built in 2003, on Solaris 2.6 (not Solaris 10=
,
which is where you are running it) - so you didn't build it yourself in
response to my suggestion.

I wonder which version of GCC you have. I suspect you need to get a GCC
2.95 compiler for Solaris 2.6 - you probably have a more recent one. Or,
you need to build Perl 5.8.8 with your current C compiler. I'd do the
latter - it will be easier in the long run. Especially for me.

The most reliable versions of Perl are those you build with the tools on
your machine. The next most reliable ones are those for which you get the
matching tool set for the pre-build Perl you get. The further your current
toolset is from the version used to build Perl, the more dramatic the
problems become.


On 7/14/07, Arun Kumar Boopathy wrote:
>
> Hi Jonathan,
>
>
>
> Iam getting the following error when I install DBI-1.50 module:
>
>
>
> */apps/iw-home/iw-perl/bin/perl Makefile.PL *
>
> * *
>
> Creating DBI::PurePerl test variant: t/zvpp_01basics.t
>
> [...much snippage...]
>
> Checking if your kit is complete...
>
> Looks good
>
>
>
> I see you're using perl 5.008002 on sun4-solaris-multi, 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.
>
>
>
> Writing Makefile for DBI
>
> *make*
>
> * *
>
> /apps/iw-home/iw-perl/bin/perl "-MExtUtils::Command" -e mkpath
> blib/lib/DBI
>
> rm -f blib/lib/DBI/Changes.pm
>
> cp Changes blib/lib/DBI/Changes.pm
>
> /apps/iw-home/iw-perl/bin/perl "-MExtUtils::Command" -e mkpath
> blib/lib/DBI
>
> rm -f blib/lib/DBI/Roadmap.pm
> [...]
>
> cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
>
> cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm
>
> /apps/iw-home/iw-perl/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst >
> Perl.xsi
>
> /apps/iw-home/iw-perl/bin/perl /apps/iw-home/iw-perl/lib/ExtUtils/xsubpp
> -typemap /apps/iw-home/iw-perl/lib/ExtUtils/typemap -typemap typemap
> Perl.xs > Perl.xsc && mv Perl.xsc Perl.c
>
> gcc -c -DUSE_HAS_SEED_EXPLICIT -fno-strict-aliasing -I/usr/local/includ=
e
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O -DVERSION=3D\"1.50\"
> -DXS_VERSION=3D\"1.50\" -fPIC "-I/apps/iw-home/iw-perl/lib/CORE" -W -Wal=
l
> -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare
> -Wno-cast-qual -DDBI_NO_THREADS Perl.c
>
> In file included from /usr/include/sys/signal.h:34,
>
> from /usr/include/signal.h:26,
>
> from /apps/iw-home/iw-perl/lib/CORE/unixish.h:107,
>
> from /apps/iw-home/iw-perl/lib/CORE/perl.h:1969,
>
> from DBIXS.h:19,
>
> from Perl.xs:5:
>
> /usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
>
> /usr/include/sys/siginfo.h:292: error: parse error before '}' token
>
> /usr/include/sys/siginfo.h:294: error: parse error before '}' token
>
> /usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
>
> [...more snippage...]
>
>
> Perl.c:1096: warning: unused parameter `cv'
>
> make: *** [Perl.o] Error 1
>
> * *
>
> *Perl =96v*
>
> * *
>
> Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
>
> Platform:
>
> osname=3Dsolaris, osvers=3D2.6, archname=3Dsun4-solaris-multi
>
> uname=3D'sunos newton 5.6 generic_105181-23 sun4u sparc
> sunw,ultrasparc-iii-engine '
>
> config_args=3D'-de'
>
> hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
>
> usethreads=3Dundef use5005threads=3Dundef useithreads=3Dundef
> usemultiplicity=3Ddefine
>
> useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine usesocks=3Du=
ndef
>
> use64bitint=3Dundef use64bitall=3Dundef uselongdouble=3Dundef
>
> usemymalloc=3Dn, bincompat5005=3Dundef
>
> Compiler:
>
> cc=3D'gcc', ccflags =3D'-DUSE_HAS_SEED_EXPLICIT -fno-strict-aliasing
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64',
>
> optimize=3D'-O',
>
> cppflags=3D'-DUSE_HAS_SEED_EXPLICIT -fno-strict-aliasing
> -I/usr/local/include'
>
> ccversion=3D'', gccversion=3D'2.95.2 19991024 (release)', gccosandver=
s=3D'
> solaris2.6'
>
> intsize=3D4, longsize=3D4, ptrsize=3D4, doublesize=3D8, byteorder=3D4=
321
>
> d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsiz=
e=3D16
>
> ivtype=3D'long', ivsize=3D4, nvtype=3D'double', nvsize=3D8, Off_t=3D'=
off_t',
> lseeksize=3D8
>
> alignbytes=3D8, prototype=3Ddefine
>
> Linker and Libraries:
>
> ld=3D'gcc', ldflags =3D' -L/usr/local/lib '
>
> libpth=3D/usr/local/lib /usr/lib /usr/ccs/lib
>
> libs=3D-lsocket -lnsl -ldl -lm -lc
>
> perllibs=3D-lsocket -lnsl -ldl -lm -lc
>
> libc=3D/lib/libc.so, so=3Dso, useshrplib=3Dfalse, libperl=3Dlibperl.a
>
> gnulibc_version=3D''
>
> Dynamic Linking:
>
> dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D' -W=
l,-E'
>
> cccdlflags=3D'-fPIC', lddlflags=3D' -Wl,-E -G -L/usr/local/lib'
>
>
>
>
>
> Characteristics of this binary (from libperl):
>
> Compile-time options: MULTIPLICITY USE_LARGE_FILES PERL_IMPLICIT_CONTEX=
T
>
> Built under solaris
>
> Compiled at Nov 14 2003 17:42:31
>
> @INC:
>
> /apps/iw-home/iw-perl/lib
>
> /apps/iw-home/iw-perl/site/lib
>
> /apps/iw-home/iw-perl/vendor/lib
>


Oh, and for whatever it is worth, a default build of GCC 4.2.0 needs about =
2
GB disk space in the object directory, plus the space for the source code -
on Solaris 10 at any rate. Also, there's a stunt you have to pull to get
the Korn shell used by configure/make, and the build fails if you don't get
that sorted. I forget the details - I will look sometime for them since I
had to sort the same problem out for earlier GCC 4.x compilers too.




--=20
Jonathan Leffler #include
Guardian of DBD::Informix - v2007.0226 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."

------=_Part_14485_18465677.1184462254937--

RE: DBI-1.50 | make error on Solaris 10

am 16.07.2007 06:05:31 von aboopathy

------_=_NextPart_001_01C7C75E.8D64A689
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Jonathan,

=20

I got the issue fixed:

=20

Resolution: Execute mkheaders that is present in the location =
"/usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/install- tools"
=20
After this run make, it resolved the issue.
=20
Thanks for your response.

=20

=20

Regards,
Arun Kumar=20
Sapient=20
'Vayu' Block
Salarpuria GR Tech Park
#137, White Field Road
Bangalore, India
Desk: +91 (0) 80 4104 7235
Mobile: +91 (0) 9886140752=20
E-mail: aboopathy@sapient.com

________________________________

From: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Sent: Sunday, July 15, 2007 6:48 AM
To: Arun Kumar Boopathy
Cc: DBI Users Mailing List
Subject: Re: DBI-1.50 | make error on Solaris 10

=20

I've cc'd dbi-users@perl.org again - I intended to previously...

That's a nuisance. It usually means something is confused about which =
headers are where - it could be GCC or Perl or something else.=20

Have you installed any other C-based modules since you created Perl with =
gcc?=20


OK - you've got Perl 5.8.2 (5.8.8 has been out several years), and it =
was built with GCC 2.95 (they've stopped maintaining the GCC 3.x line of =
compilers). And the Perl was built in 2003, on Solaris 2.6 (not Solaris =
10, which is where you are running it) - so you didn't build it yourself =
in response to my suggestion.

I wonder which version of GCC you have. I suspect you need to get a GCC =
2.95 compiler for Solaris 2.6 - you probably have a more recent one. =
Or, you need to build Perl 5.8.8 with your current C compiler. I'd do =
the latter - it will be easier in the long run. Especially for me.

The most reliable versions of Perl are those you build with the tools on =
your machine. The next most reliable ones are those for which you get =
the matching tool set for the pre-build Perl you get. The further your =
current toolset is from the version used to build Perl, the more =
dramatic the problems become.=20



On 7/14/07, Arun Kumar Boopathy < aboopathy@sapient.com =
> wrote:=20

Hi Jonathan,

=20

Iam getting the following error when I install DBI-1.50 module:

=20

/apps/iw-home/iw-perl/bin/perl Makefile.PL=20

=20

Creating DBI::PurePerl test variant: t/zvpp_01basics.t=20

[...much snippage...]

=20

Checking if your kit is complete...

Looks good

=20

I see you're using perl 5.008002 on sun4-solaris-multi, 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.

=20

Writing Makefile for DBI

make

=20

/apps/iw-home/iw-perl/bin/perl "-MExtUtils::Command" -e mkpath =
blib/lib/DBI

rm -f blib/lib/DBI/Changes.pm

cp Changes blib/lib/DBI/Changes.pm

/apps/iw-home/iw-perl/bin/perl "-MExtUtils::Command" -e mkpath =
blib/lib/DBI

rm -f blib/lib/DBI/Roadmap.pm

[...]

cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h

cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm

/apps/iw-home/iw-perl/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > =
Perl.xsi

/apps/iw-home/iw-perl/bin/perl /apps/iw-home/iw-perl/lib/ExtUtils/xsubpp =
-typemap /apps/iw-home/iw-perl/lib/ExtUtils/typemap -typemap typemap =
Perl.xs > Perl.xsc && mv Perl.xsc Perl.c

gcc -c -DUSE_HAS_SEED_EXPLICIT -fno-strict-aliasing =
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O =
-DVERSION=3D\"1.50\" -DXS_VERSION=3D\"1.50\" -fPIC =
"-I/apps/iw-home/iw-perl/lib/CORE" -W -Wall -Wpointer-arith =
-Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual =
-DDBI_NO_THREADS Perl.c

In file included from /usr/include/sys/signal.h:34,

from /usr/include/signal.h:26,

from /apps/iw-home/iw-perl/lib/CORE/unixish.h:107,

from /apps/iw-home/iw-perl/lib/CORE/perl.h:1969,

from DBIXS.h:19,

from Perl.xs:5:

/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"

/usr/include/sys/siginfo.h:292: error: parse error before '}' token

/usr/include/sys/siginfo.h:294: error: parse error before '}' token

/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"

[...more snippage...]

=20

Perl.c:1096: warning: unused parameter `cv'

make: *** [Perl.o] Error 1

=20

Perl -v

=20

Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:

Platform:

osname=3Dsolaris, osvers=3D2.6, archname=3Dsun4-solaris-multi

uname=3D'sunos newton 5.6 generic_105181-23 sun4u sparc =
sunw,ultrasparc-iii-engine '

config_args=3D'-de'

hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine

usethreads=3Dundef use5005threads=3Dundef useithreads=3Dundef =
usemultiplicity=3Ddefine

useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine =
usesocks=3Dundef

use64bitint=3Dundef use64bitall=3Dundef uselongdouble=3Dundef

usemymalloc=3Dn, bincompat5005=3Dundef

Compiler:

cc=3D'gcc', ccflags =3D'-DUSE_HAS_SEED_EXPLICIT -fno-strict-aliasing =
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64',

optimize=3D'-O',

cppflags=3D'-DUSE_HAS_SEED_EXPLICIT -fno-strict-aliasing =
-I/usr/local/include'

ccversion=3D'', gccversion=3D'2.95.2 19991024 (release)', =
gccosandvers=3D'solaris2.6'

intsize=3D4, longsize=3D4, ptrsize=3D4, doublesize=3D8, =
byteorder=3D4321

d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, =
longdblsize=3D16

ivtype=3D'long', ivsize=3D4, nvtype=3D'double', nvsize=3D8, =
Off_t=3D'off_t', lseeksize=3D8

alignbytes=3D8, prototype=3Ddefine

Linker and Libraries:

ld=3D'gcc', ldflags =3D' -L/usr/local/lib '

libpth=3D/usr/local/lib /usr/lib /usr/ccs/lib

libs=3D-lsocket -lnsl -ldl -lm -lc

perllibs=3D-lsocket -lnsl -ldl -lm -lc

libc=3D/lib/libc.so, so=3Dso, useshrplib=3Dfalse, =
libperl=3Dlibperl.a

gnulibc_version=3D''

Dynamic Linking:

dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D' =
-Wl,-E'

cccdlflags=3D'-fPIC', lddlflags=3D' -Wl,-E -G -L/usr/local/lib'

=20

=20

Characteristics of this binary (from libperl):=20

Compile-time options: MULTIPLICITY USE_LARGE_FILES =
PERL_IMPLICIT_CONTEXT

Built under solaris

Compiled at Nov 14 2003 17:42:31

@INC:

/apps/iw-home/iw-perl/lib

/apps/iw-home/iw-perl/site/lib

/apps/iw-home/iw-perl/vendor/lib



Oh, and for whatever it is worth, a default build of GCC 4.2.0 needs =
about 2 GB disk space in the object directory, plus the space for the =
source code - on Solaris 10 at any rate. Also, there's a stunt you have =
to pull to get the Korn shell used by configure/make, and the build =
fails if you don't get that sorted. I forget the details - I will look =
sometime for them since I had to sort the same problem out for earlier =
GCC 4.x compilers too.

=20




--=20
Jonathan Leffler #include
Guardian of DBD::Informix - v2007.0226 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to =
be amused."=20


------_=_NextPart_001_01C7C75E.8D64A689--