make on TK fails on Solaris 10

make on TK fails on Solaris 10

am 08.11.2007 23:38:52 von mariakvelasco

Hello,

We are in need of some help or suggestions. We are trying to build the
TK modules on Solaris 10. We downloaded Tk-804.027.tar.gz from CPAN
and extracted the compressed tarfile using gunzip and tar, then we
created the makefile by running the command perl Makefile.PL, which
succeeded. However, when we ran make, we get the following errors:

cd pTk && make DEFINE=""
cd zlib && make libz.a "CC=cc" RANLIB=":"
`libz.a' is up to date.
cc -c -I/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Tk -Ilibpng -
Izlib -I/usr/openwin/include -D_LARGEFILE_SOURCE -
D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -DVERSION=\"4.003\" -DXS_VERSION=
\"800.025\" "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE" PNG.c
PNG.xs:26: warning: data definition has no type or storage class
PNG.xs: In function `boot_Tk__PNG':
PNG.xs:35: `IMPORT_PHOTO' undeclared (first use in this function)
PNG.xs:35: (Each undeclared identifier is reported only once
PNG.xs:35: for each function it appears in.)
*** Error code 1
make: Fatal error: Command failed for target `PNG.o'
Current working directory /tmp/Tk-804.027/PNG
*** Error code 1
The following command caused the error:
cd PNG && make -f Makefile all LIBPERL_A="libperl.a"
LINKTYPE="dynamic" PREFIX="" OPTIMIZE="" PASTHRU_DEFINE=""
PASTHRU_INC=""
make: Fatal error: Command failed for target `subdirs'

We are using Perl version 5.8.4 on Solaris 10 and we have posted the
same question on www.cpanforum.com but have gotten no replies. We are
hoping someone on this might be able to help us out.

Does anyone have any suggestions on how to get rid of these errors?
Any help would be greatly appreciated, please.

Thanks!

Re: make on TK fails on Solaris 10

am 09.11.2007 11:44:06 von Ben Morrow

Quoth mariakvelasco@gmail.com:
>
> We are in need of some help or suggestions. We are trying to build the
> TK modules on Solaris 10. We downloaded Tk-804.027.tar.gz from CPAN
> and extracted the compressed tarfile using gunzip and tar, then we
> created the makefile by running the command perl Makefile.PL, which
> succeeded. However, when we ran make, we get the following errors:
>
> cd pTk && make DEFINE=""
> cd zlib && make libz.a "CC=cc" RANLIB=":"
> `libz.a' is up to date.
> cc -c -I/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Tk -Ilibpng -
> Izlib -I/usr/openwin/include -D_LARGEFILE_SOURCE -
> D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -DVERSION=\"4.003\" -DXS_VERSION=
> \"800.025\" "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE" PNG.c
> PNG.xs:26: warning: data definition has no type or storage class
> PNG.xs: In function `boot_Tk__PNG':
> PNG.xs:35: `IMPORT_PHOTO' undeclared (first use in this function)

IMPORT_PHOTO is #defined in vtab.def, which is included from tkGlue.h,
which is included from PNG.xs. Since your cc didn't report being unable
to include those files, I presume it was finding incorrect versions. Do
you already have an install of Tk in
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Tk ? I don't really
understand why you are getting a -I switch for that directory rather
than for /tmp/Tk-804.027 . If you do have an older version of Tk
installed, it might be worth removing it first.

Otherwise, is there some switch you can give to your cc that will tell
you where it's finding each include file (often running a file through
cc -E, with all the other switches in the commandline above, will give
you a preprocessed file with #line directives in) so we can see what's
going on?

Ben