fftw3 and octave

Charles Wilson cygwin@cwilson.fastmail.fm
Tue Apr 1 05:06:00 GMT 2008


Marco Atzeri wrote:

> the DLL are almost all the size of fftw3
> so I can repakage as suggested, but it is 
> probably not worth.

Not exactly. The import libraries are almost half the size of the DLLs; 
that's not insignificant. Here's what Volker is suggesting, I think 
(with perhaps a few things moved around). I've put the "basic" 
documentation in libfftw3-devel, and the "fancy, extra" documentation in 
fftw3-doc).  You'll notice that with this division, the size is 
distributed across the packages -- if not evenly, then at least 
'fairly'.  Also, in this scheme, the 'main' package (fftw3, the one 
whose name matches the -src) contains only /usr/share README-style 
stuff. That's a fairly common occurance for DLL utilitity libraries.

libfftw3_3:
520704   /usr/bin/cygfftw3-3.dll
  70656   /usr/bin/cygfftw3_threads-3.dll
------------
591360 TOTAL

libfftw3-devel:
   2202   /usr/bin/fftw-wisdom-to-conf
  34816   /usr/bin/fftw-wisdom.exe
327332   /usr/lib/libfftw3.dll.a
    762   /usr/lib/libfftw3.la
  54536   /usr/lib/libfftw3_threads.dll.a
    815   /usr/lib/libfftw3_threads.la*
    209   /usr/lib/pkgconfig/fftw3.pc
   2143   /usr/include/fftw3.f
  10021   /usr/include/fftw3.h
  51019   /usr/share/info/fftw3.info-1
  51018   /usr/share/info/fftw3.info-2
  44463   /usr/share/info/fftw3.info-3
  43162   /usr/share/info/fftw3.info-4
  11149   /usr/share/info/fftw3.info-5
  1821    /usr/share/info/fftw3.info.gz
  1743    /usr/share/man/man1/fftw-wisdom-to-conf.1.gz
  2975    /usr/share/man/man1/fftw-wisdom.1.gz
------------
640186 TOTAL

fftw3-doc:
498555   /usr/share/doc/fftw3-3.0.1/fftw3.pdf
  30406   /usr/share/doc/fftw3-3.0.1/fftw-faq.ascii
          /usr/share/doc/fftw3-3.0.1/html/*
------------
919597 TOTAL

fftw3:
2121    /usr/share/doc/Cygwin/fftw3-3.0.1.README
173     /usr/share/doc/fftw3-3.0.1/AUTHORS
196103  /usr/share/doc/fftw3-3.0.1/ChangeLog
17992   /usr/share/doc/fftw3-3.0.1/COPYING
821     /usr/share/doc/fftw3-3.0.1/COPYRIGHT
9498    /usr/share/doc/fftw3-3.0.1/INSTALL
5346    /usr/share/doc/fftw3-3.0.1/NEWS
1253    /usr/share/doc/fftw3-3.0.1/README
1615    /usr/share/doc/fftw3-3.0.1/TODO
------------
234922 TOTAL


However, putting the DLLs in a separate, standalone package is not just 
about download size.  It also helps with package and dependency 
management, if the API of the library changes in a 
backwards-incompatible manner.

>> Are these static libraries ? Otherwise your build
>> would depend on them
>> and you should package them for the distro.
> 
> Of course static. 
> The only dependency needed was fftw3
> so I adopted it. 

Not to look a gift horse in the mouth, but cygwin binary software is 
under the GPL (or compatible open source license), because it is linked 
against the cygwin1.dll.

This means that, for ALL software linked into the binaries included in 
the cygwin distribution, we MUST also distribute the source.

Including static libraries.

The most convenient way to ensure this is for all dependent libraries to 
ALSO be members of the cygwin distribution.

So, we usually don't allow software in the distro that links against 
libaries that AREN'T part of the distro -- unless you take special care 
to distribute also those EXACT sources as part of your fftw3-src package.

I'll leave this to Corinna and cgf to decide, but it seems to me that 
either:

(1) you must rebuild your official package without reliance on Qhull, 
Hdf5, and qlpk/SuiteSparse, or
(2) include the EXACT Qhull/Hdf5/qlpk/SuiteSparse source code tarballs 
within the fftw3-src tarball
(3) you [or someone else] must ITP these packages

or else we must continue to go without an octave maintainer.  However, 
that's just MHO, and I'm not in charge.

--
Chuck



More information about the Cygwin-apps mailing list