Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 48759
Status: resolved
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: kmx [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Ext-lib: Graphics libs (libjpeg, linpng, libtiff, libfreetype)
Hi, the idea of including graphics libraries into strawberry distribution is based on my attempts to install perl module Imager (it is a prerequisite of e.g. MojoMojo - Catalyst based Wiki engine). For getting Imager installed on strawberry you need to have some of these external libraries: libjpeg, linpng, libtiff, libfreetype. There are more ways how to handle this: 1) The easiest way to do it is to get these libraries from gnuwin32 binaries. - I have tested this approach and it works quite OK - the only problem is that gnuwin32 bild contains just dynamic libraries, therefore a bunch of additional DLLs is required - more DLLs = more potential problems (e.g. PATH issue) 2) We can build a static *.a files from original sources - again tested by me - works - this way means more effort in the future as we have to rebild the libs with each new release - but no additional DLL dependencies 3) We could include already compiled Imager module (either statically linked or with all necessary DLL in c:\strawberry\perl\site\lib\auto\Imager\) and do not include dev files (*.a/*.h). I would appreciate if we can somehow make module Imager working with strawberry. Could you give me a feedback which of the 3 above mentioned options you consider feasible? I am ready to help with building the libs. -- kmx
Subject: Re: [rt.cpan.org #48759] Ext-lib: Graphics libs (libjpeg, linpng, libtiff, libfreetype)
Date: Mon, 17 Aug 2009 10:31:31 +1000
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: Adam Kennedy <adamkennedybackup [...] gmail.com>
I think it's reasonable for the first attempt to just use the .dll files. We can improve it in a subsequent release if we does actually display DLL clash problems. Adam K 2009/8/17 kmx via RT <bug-Perl-Dist-Strawberry@rt.cpan.org>: Show quoted text
> Sun Aug 16 16:11:52 2009: Request 48759 was acted upon. > Transaction: Ticket created by KMX >       Queue: Perl-Dist-Strawberry >     Subject: Ext-lib: Graphics libs (libjpeg, linpng, libtiff, libfreetype) >   Broken in: (no value) >    Severity: (no value) >       Owner: Nobody >  Requestors: kmx@cpan.org >      Status: new >  Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=48759 > > > > Hi, > > the idea of including graphics libraries into strawberry distribution is > based on my attempts to install perl module Imager (it is a prerequisite > of e.g. MojoMojo - Catalyst based Wiki engine). > > For getting Imager installed on strawberry you need to have some of > these external libraries: libjpeg, linpng, libtiff, libfreetype. > > There are more ways how to handle this: > > 1) The easiest way to do it is to get these libraries from gnuwin32 > binaries. > - I have tested this approach and it works quite OK > - the only problem is that gnuwin32 bild contains just dynamic > libraries, therefore a bunch of additional DLLs is required > - more DLLs = more potential problems (e.g. PATH issue) > > 2) We can build a static *.a files from original sources > - again tested by me - works > - this way means more effort in the future as we have to rebild the libs > with each new release > - but no additional DLL dependencies > > 3) We could include already compiled Imager module (either statically > linked or with all necessary DLL in > c:\strawberry\perl\site\lib\auto\Imager\) and do not include dev files > (*.a/*.h). > > I would appreciate if we can somehow make module Imager working with > strawberry. Could you give me a feedback which of the 3 above mentioned > options you consider feasible? > > I am ready to help with building the libs. > > -- > kmx >
Subject: Re: [rt.cpan.org #48759] Ext-lib: Graphics libs (libjpeg, linpng, libtiff, libfreetype)
Date: Mon, 17 Aug 2009 09:26:06 +0200
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: kmx <kmx [...] volny.cz>
Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=48759 > > > I think it's reasonable for the first attempt to just use the .dll files. > > We can improve it in a subsequent release if we does actually display > DLL clash problems. > > Adam K
OK In that case it will be quite simple. This scenario works for me: ### libjpeg 1) download jpeg-6b-4-bin.zip and jpeg-6b-4-lib.zip from http://gnuwin32.sourceforge.net/packages/jpeg.htm 2) copy the following files into your strawberry: jpeg-6b-4-bin.zip/bin/jpeg62.dll => c:\strawberry\c\bin\jpeg62.dll jpeg-6b-4-lib.zip/include/* => c:\strawberry\c\include\ jpeg-6b-4-lib.zip/lib/libjpeg.dll.a => c:\strawberry\c\lib\libjpeg.a ### libgif 1) download giflib-4.1.4-1-bin.zip and giflib-4.1.4-1-lib.zip from http://gnuwin32.sourceforge.net/packages/giflib.htm 2) copy the following files into your strawberry: giflib-4.1.4-1-bin.zip/bin/giflib4.dll => c:\strawberry\c\bin\giflib4.dll giflib-4.1.4-1-lib.zip/include/gif_lib.h => c:\strawberry\c\include\gif_lib.h giflib-4.1.4-1-lib.zip/lib/libgif.dll.a => c:\strawberry\c\lib\libgif.a ### linpng 1) download libpng-1.2.37-bin.zip and libpng-1.2.37-lib.zip from http://gnuwin32.sourceforge.net/packages/libpng.htm 2) copy the following files into your strawberry: libpng-1.2.37-bin.zip/bin/libpng12.dll => c:\strawberry\c\bin\libpng12.dll libpng-1.2.37-bin.zip/bin/libpng3.dll => c:\strawberry\c\bin\libpng3.dll libpng-1.2.37-lib.zip/include/* => c:\strawberry\c\include\ libpng-1.2.37-lib.zip/lib/libpng.dll.a => c:\strawberry\c\lib\libpng.a libpng-1.2.37-lib.zip/lib/libpng12.dll.a => c:\strawberry\c\lib\libpng12.a ### libtiff 1) download tiff-3.8.2-1-bin.zip and tiff-3.8.2-1-lib.zip from http://gnuwin32.sourceforge.net/packages/tiff.htm 2) copy the following files into your strawberry: tiff-3.8.2-1-bin.zip/bin/libtiff3.dll => c:\strawberry\c\bin\libtiff3.dll tiff-3.8.2-1-lib.zip/include/* => c:\strawberry\c\include\ tiff-3.8.2-1-lib.zip/lib/libtiff.dll.a => c:\strawberry\c\lib\libtiff.a ### libfreetype 1) download freetype-2.3.5-1-bin.zip and freetype-2.3.5-1-lib.zip from http://gnuwin32.sourceforge.net/packages/freetype.htm 2) copy the following files into your strawberry: freetype-2.3.5-1-bin.zip/bin/freetype6.dll => c:\strawberry\c\bin\freetype6.dll freetype-2.3.5-1-lib.zip/include/* => c:\strawberry\c\include\ freetype-2.3.5-1-lib.zip/lib/libfreetype.dll.a => c:\strawberry\c\lib\libfreetype.a Then you can simply install Imager by running: cpan Imager (compiles OK, all tests PASS) NOTE 1: - the size of all copied files (*.dll/*.a/*.h) is about 3.7MB - there are 6 new DLLs (I put them into c:\strawberry\c\bin\ but I am wondering whether c:\strawberry\perl\bin\ would not be slightly better) NOTE 2: - not all libraries are available on gnuwin32 in the latest version - however I do not see this as a big problem especially comparing with effort needed to rebuild them all from sources NOTE 3: - 4 DLLs (freetype6.dll libpng12.dll libpng3.dll libtiff3.dll) have a dependency on zlib1.dll - therefore my idea of getting rid of zlib1.dll discussed here https://rt.cpan.org/Public/Bug/Display.html?id=48671 was wrong Is the description above enough or should I prepare something else to help you with adding these libraries into strawberry? -- kmx P.S. BTW it would be a good idea to give CSJewell co-maint to Perl-Dist-Strawberry (he will be notified about posts like this by e-mail)

Message body not shown because it is not plain text.

Download libgif-4.1.4-1-bin_20090821.zip
application/binary 22.4k

Message body not shown because it is not plain text.

Download libjpeg-6b-4-bin_20090821.zip
application/binary 90.1k

Message body not shown because it is not plain text.

Download libpng-1.2.37-bin_20090821.zip
application/binary 353.1k

Message body not shown because it is not plain text.

Hi, please find enclosed packs with graphics libraries ready to be release with strawberry perl. All are based on gnuwin32 binaries as described above. To test whether these libraries work - simply run: cpan Imager -- kmx
Download libtiff-3.8.2-1-bin_20090821.zip
application/binary 154.7k

Message body not shown because it is not plain text.

Previously uploaded libfreetype has broken headers (*.h) attached libfreetype-2.3.5-1-bin_20090823.zip should work fine -- kmx

Message body not shown because it is not plain text.

I have done the following: 1) made little changes to freetype, png libs (added simplified freetype-config.bat, libpng12-config.bat, libpng-config.bat) 2) added libgd support (Bio::Perl requires GD perl module) - I have used gnuwin32 binaries All the latest versions are available at: http://svn.ali.as/cpan/users/kmx/strawberry_packs/ - libfreetype-2.3.5-1-bin_20090828.zip - libgd-2.0.33-1-bin_20090828.zip - libgif-4.1.4-1-bin_20090821.zip - libjpeg-6b-4-bin_20090821.zip - libpng-1.2.38-bin_20090828.zip - libtiff-3.8.2-1-bin_20090821.zip -- kmx
On Mon Aug 31 07:26:43 2009, KMX wrote: Show quoted text
> I have done the following: > > 1) made little changes to freetype, png libs (added simplified > freetype-config.bat, libpng12-config.bat, libpng-config.bat) > > 2) added libgd support (Bio::Perl requires GD perl module) - I have used > gnuwin32 binaries > > All the latest versions are available at: > http://svn.ali.as/cpan/users/kmx/strawberry_packs/ > > - libfreetype-2.3.5-1-bin_20090828.zip > - libgd-2.0.33-1-bin_20090828.zip > - libgif-4.1.4-1-bin_20090821.zip > - libjpeg-6b-4-bin_20090821.zip > - libpng-1.2.38-bin_20090828.zip > - libtiff-3.8.2-1-bin_20090821.zip > > -- > kmx
Added these 6 libraries (no documentation yet) in r8899 and r8900.
Resolving since October release happened.