[Discuss] perl/Tk

Mike Small smallm at panix.com
Fri Feb 27 22:20:21 EST 2015


dan moylan <jdm at moylan.us> writes:

> running fc21 on acer aspire E1-472P-6860
> trying to install perl/Tk -- i needed two other installs
> first, and did those:
>
>   yum install libX11-devel
>   yum install gcc
>   cpan -i Tk
>

I see you've gotten what you need from your linux distro's package
system, but I wonder if things would have gone better with the cpan
approach had you installed libpng-devel as suggested in README.linux in
the Tk distro...

  CentOS, RedHat, Fedora:

  The following system packages should be installed:

      libX11-devel (minimal requirement for basic compilation of Perl/Tk)
      libXft-devel (for freetype support, XFT=1)
      libpng-devel zlib-devel (for using system library for Tk::PNG)
      libjpeg-devel (for using system library for Tk::JPEG)

...

  It's recommended to install system's libpng, zlib, and libjpeg first.
  Otherwise the bundled (and usually older) versions of libpng, zlib,
  and libjpeg are used.

It looks to me like it went into libpng to try to build the bundled png,
probably after not detecting the system png for lack of headers (I've
never liked these distros that split off devel and doc packages), which
maybe isn't a heavily tested path. If you wanted to be nice to Perl you
might consider reporting this to the Tk module's bug tracker. I mean,
the docs kind of imply that should work, so perhaps there's a bug
here. Then again, if Fedora is keeping up with their packaging as it
seems they are, maybe it's not a very important bug, there being no
reason to want this option of using the bundled png instead of system's.

> the cpan installation went on for quite a while, but at the
> end, i got:
>
> make[2]: Leaving directory
>           '/root/.cpan/build/Tk-804.033-glv7i1/PNG/libpng'
> make[2]: Entering directory
>           '/root/.cpan/build/Tk-804.033-glv7i1/PNG/libpng'
> gcc -fPIC -c -Wall -O2 -I../zlib pngtest.c
> gcc -fPIC -s -L../zlib -o pngtest pngtest.o libpng.a -lz -lm
> libpng.a(png.o): In function `png_init_mmx_flags':
> png.c:(.text+0xbaf): undefined reference to `png_mmx_support'
> libpng.a(pngread.o): In function `png_read_row':
> pngread.c:(.text+0xfd2): undefined reference to `png_combine_row'


-- 
Mike Small
smallm at panix.com



More information about the Discuss mailing list