FFTW3, Shared Libraries, libtool

Gerrit P. Haase gerrit@familiehaase.de
Thu Aug 11 01:58:00 GMT 2005


James R. Phillips wrote:

> Hi all,
> 
> I am looking at packaging fftw3, a library for fast fourier transforms, for use
> with octave.  This is a nice gpl package that has been autoconfiscated, and
> builds out-of-tree properly, making it work well with g-b-s.  octave can be
> built to use fftw3 instead of its default routines to perform fft's.
> 
> I have run into a snag, though, because despite being configured to build
> shared libraries, I see no shared libraries when the fftw3 build completes.
> 
> When the build is complete, there is a libfftw3.a and libfftw3.la file
> installed in usr/lib, and information in libfftw3.la (an ascii file created by
> libtool) indicates there was no dll built, only a static library (libfftw3.a).
> 
> The configuration process creates a shell script labeled libtool in the build
> directory, which appears to be based on some older version of gnu libtool.  So,
> I'm wondering where to go from here.  I'm not very familiar with libtool, and
> wonder how it is that this shell script gets created without the cygwin libtool
> package being installed.  Perhaps the cygwin version would work better, i.e.
> actually create the dll?  However, reading the libtool script indicates it has
> configuration information created during execution of the configuration script.
>  I'm not sure how to tell configure to use an installed version of libtool
> instead of the version that is shipped with the source.
> 
> Anyone have ideas on this?

I have this attached patch against 3.0.1.  I don't know if it is still
all needed, however you see where to go.  Maybe it applies with some
fuzz.

After applying the changes run `autoreconf --force --install --verbose`
in the top level source directory to install the Cygwin libtool and the
current helper scripts in the source tree and to regenerate aclocal.m4,
configure and the Makefile.in templates.

Then try to build again, should create shared libraries now.
The two relevant changes are the build order of the subdirectories
because of dependencies and the libtool ldflag '-no-undefined' to
convince it to build shared libs.

Using CFLAGS in Makefile.am is not working with recent automake one must
use AM_CFLAGS instead.


Gerrit
-- 
=^..^=
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fftw-3.0.1.patch
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20050811/b9a193be/attachment.ksh>


More information about the Cygwin-apps mailing list