pd-0.45.4 has the right code for FFTW3 but has the wrong configure.ac code to test for it.
fftw_one is a function in FFTW2, which plans a 1D FFT. The comparable function in FFTW3 is fftw_plan_dft_1d
To get this to configure properly, you only need to change the name of the library and the function it looks for. For the single precision fftw3 library ( libfftw3f.so ) the function is named sfftw_plan_dft_1d_ or sfftw_plan_dft_1d__
Before filing a bug, I wanted to get another set of eyes on it. Does that function name look suspicious to anyone else? I've confirmed the symbol is the same in the system installed 3.3.3 version of the library in ubuntu 14.04 and the custom compiled 3.3.4 version that I'm using.
To fix:
This section of code in configure.ac: dnl fftw v2 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw, fftw_one, [LIBS="$LIBS -lfftw"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]); fftw=no]) fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
becomes
dnl fftw v3 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw3f, sfftw_plan_dft_1d_, [LIBS="$LIBS -lfftw3f"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]); fftw=no]) fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
Then, I run: ./autogen.sh
and
./configure --enable-jack --prefix=/home/chenry/pd-0.45.4 --enable-fftw CFLAGS=-I/home/chenry/linalg/include LDFLAGS=-L/home/chenry/linalg/lib
Chuck
Hi Chuck -
It looks like this would then no longer work with fftw2 - is this a problem, or is fftw3 widely enough distributed now that nobody will need fftw2 comatibility?
thanks Miller
On Sun, Jan 18, 2015 at 12:59:14PM -0600, Charles Z Henry wrote:
pd-0.45.4 has the right code for FFTW3 but has the wrong configure.ac code to test for it.
fftw_one is a function in FFTW2, which plans a 1D FFT. The comparable function in FFTW3 is fftw_plan_dft_1d
To get this to configure properly, you only need to change the name of the library and the function it looks for. For the single precision fftw3 library ( libfftw3f.so ) the function is named sfftw_plan_dft_1d_ or sfftw_plan_dft_1d__
Before filing a bug, I wanted to get another set of eyes on it. Does that function name look suspicious to anyone else? I've confirmed the symbol is the same in the system installed 3.3.3 version of the library in ubuntu 14.04 and the custom compiled 3.3.4 version that I'm using.
To fix:
This section of code in configure.ac: dnl fftw v2 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw, fftw_one, [LIBS="$LIBS -lfftw"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]); fftw=no]) fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
becomes
dnl fftw v3 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw3f, sfftw_plan_dft_1d_, [LIBS="$LIBS -lfftw3f"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]); fftw=no]) fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
Then, I run: ./autogen.sh
and
./configure --enable-jack --prefix=/home/chenry/pd-0.45.4 --enable-fftw CFLAGS=-I/home/chenry/linalg/include LDFLAGS=-L/home/chenry/linalg/lib
Chuck
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
fftw2 hasn't been updated since 1999! I think it is safe to use fftw3 now...
On Sun, Jan 18, 2015 at 2:24 PM, Miller Puckette msp@ucsd.edu wrote:
Hi Chuck -
It looks like this would then no longer work with fftw2 - is this a problem, or is fftw3 widely enough distributed now that nobody will need fftw2 comatibility?
thanks Miller
On Sun, Jan 18, 2015 at 12:59:14PM -0600, Charles Z Henry wrote:
pd-0.45.4 has the right code for FFTW3 but has the wrong configure.ac code to test for it.
fftw_one is a function in FFTW2, which plans a 1D FFT. The comparable function in FFTW3 is fftw_plan_dft_1d
To get this to configure properly, you only need to change the name of the library and the function it looks for. For the single precision fftw3 library ( libfftw3f.so ) the function is named sfftw_plan_dft_1d_ or sfftw_plan_dft_1d__
Before filing a bug, I wanted to get another set of eyes on it. Does that function name look suspicious to anyone else? I've confirmed the symbol is the same in the system installed 3.3.3 version of the library in ubuntu 14.04 and the custom compiled 3.3.4 version that I'm using.
To fix:
This section of code in configure.ac: dnl fftw v2 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw, fftw_one, [LIBS="$LIBS -lfftw"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]);
fftw=no])
fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
becomes
dnl fftw v3 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw3f, sfftw_plan_dft_1d_, [LIBS="$LIBS -lfftw3f"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]);
fftw=no])
fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
Then, I run: ./autogen.sh
and
./configure --enable-jack --prefix=/home/chenry/pd-0.45.4 --enable-fftw CFLAGS=-I/home/chenry/linalg/include LDFLAGS=-L/home/chenry/linalg/lib
Chuck
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
OK... fftw it is. Pushed to http://msp.ucsd.edu/tmp/pd-tmp.src.tar.gz and git://git.code.sf.net/p/pure-data/pure-data...
Anyone willing to try it? I'd like to 'release' in the next couple of days.
cheers Miller
On Sun, Jan 18, 2015 at 03:15:19PM -0500, Chris Clepper wrote:
fftw2 hasn't been updated since 1999! I think it is safe to use fftw3 now...
On Sun, Jan 18, 2015 at 2:24 PM, Miller Puckette msp@ucsd.edu wrote:
Hi Chuck -
It looks like this would then no longer work with fftw2 - is this a problem, or is fftw3 widely enough distributed now that nobody will need fftw2 comatibility?
thanks Miller
On Sun, Jan 18, 2015 at 12:59:14PM -0600, Charles Z Henry wrote:
pd-0.45.4 has the right code for FFTW3 but has the wrong configure.ac code to test for it.
fftw_one is a function in FFTW2, which plans a 1D FFT. The comparable function in FFTW3 is fftw_plan_dft_1d
To get this to configure properly, you only need to change the name of the library and the function it looks for. For the single precision fftw3 library ( libfftw3f.so ) the function is named sfftw_plan_dft_1d_ or sfftw_plan_dft_1d__
Before filing a bug, I wanted to get another set of eyes on it. Does that function name look suspicious to anyone else? I've confirmed the symbol is the same in the system installed 3.3.3 version of the library in ubuntu 14.04 and the custom compiled 3.3.4 version that I'm using.
To fix:
This section of code in configure.ac: dnl fftw v2 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw, fftw_one, [LIBS="$LIBS -lfftw"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]);
fftw=no])
fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
becomes
dnl fftw v3 AC_ARG_ENABLE([fftw], [AS_HELP_STRING([--enable-fftw], [use FFTW package])], [fftw=$enableval]) if test x$fftw = xyes; then AC_CHECK_LIB(fftw3f, sfftw_plan_dft_1d_, [LIBS="$LIBS -lfftw3f"], [AC_MSG_NOTICE([fftw package not found - using built-in FFT]);
fftw=no])
fi AM_CONDITIONAL(FFTW, test x$fftw = xyes)
Then, I run: ./autogen.sh
and
./configure --enable-jack --prefix=/home/chenry/pd-0.45.4 --enable-fftw CFLAGS=-I/home/chenry/linalg/include LDFLAGS=-L/home/chenry/linalg/lib
Chuck
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev
On Sun, Jan 18, 2015 at 12:59 PM, Charles Z Henry czhenry@gmail.com wrote:
Before filing a bug, I wanted to get another set of eyes on it. Does that function name look suspicious to anyone else? I've confirmed the symbol is the same in the system installed 3.3.3 version of the library in ubuntu 14.04 and the custom compiled 3.3.4 version that I'm using.
I found a more relevant function "fftwf_execute", which actually occurs in the pd src (and does not occur in fftw2). much less suspicious. I'll file a bug report with a diff, which is short
OK, pushed to git anew...
cheers M
On Sun, Jan 18, 2015 at 07:52:00PM -0600, Charles Z Henry wrote:
On Sun, Jan 18, 2015 at 12:59 PM, Charles Z Henry czhenry@gmail.com wrote:
Before filing a bug, I wanted to get another set of eyes on it. Does that function name look suspicious to anyone else? I've confirmed the symbol is the same in the system installed 3.3.3 version of the library in ubuntu 14.04 and the custom compiled 3.3.4 version that I'm using.
I found a more relevant function "fftwf_execute", which actually occurs in the pd src (and does not occur in fftw2). much less suspicious. I'll file a bug report with a diff, which is short
Pd-dev mailing list Pd-dev@lists.iem.at http://lists.puredata.info/listinfo/pd-dev