[CLAM] fftw and configure

Rhywek rhywek at o2.pl
Mon Jul 4 09:27:59 PDT 2005


Miguel Ramírez Jávega wrote:

>Hi,
>
>  
>
>>it needs "fftw.h" file and I did not have it on my system. So I
>>figured out that newest version of fftw is not compatible with the
>>one CLAM uses (all what I write about I tested with both 0.7.0 and
>>0.8.0.pre2).
>>
>>    
>>
>
>You can find the full list of dependencies for CLAM-0.7.0 at chapter II,
>section 13 of CLAM manual. For CLAM 0.8, the dependencies added were:
>* oscpack
>* portmidi
>* portaudio
>
>which are all optional (can be disabled by specifying --without-*
>directives to configure script).
>
>  
>
>>Then I tried many different options: First I downloaded the fftw
>>available at CLAM download page 2.1.5 for redhat (I use fedora core
>>3 for this). Strangely, after unpacking there are some files in lib,
>>but they were not detected by the configure script. I had to make a
>>symbolic link "libfftw.so -> libfftw.so.2.0.7" for one library to be
>>detected, but still there is nothing like librfftw, which seems also
>>necessary. So the script shows (after linking):
>>
>>checking fftw.h for fftw in sandbox... yes
>>checking fftw header(s) found in sandbox... yes
>>checking libfftw for fftw in sandbox... yes
>>checking librfftw for fftw in sandbox... no
>>checking all fftw lib(s) found in sandbox... no
>>
>>    
>>
>
>That package seems to be broken - it lacks "half" of fftw and there
>seems to be some issue with not creating symbolic links for the binaries
>(something the package should have done by itself). We will remove it
>from the download page as soon as possible.
>
>Nonetheless, you should purge your system of files installed by that
>package, and *especially* remove any symbolic links you made.
>
>  
>
>>Now this is about sandbox, but the bigger problem is to get all
>>those files in my system default places. After version 3.x I
>>downloaded fftw-2.1.5.tar.gz from fftw.org and executed
>>"./configure", "make" and "make install", but it did not help --
>>still during "./configure" in CLAM's build directory it does not
>>pass the test of compiling the fftw example.
>>
>>    
>>
>
>
>  
>
>>Next I read in the documentation that both single and double
>>precision fftw is neede, so I did what they say on fftw.org:
>>
>>./configure --enable-type-prefix [ other options ]
>>make
>>make install
>>make clean
>>./configure --enable-float --enable-type-prefix [ other options ]
>>make
>>make install
>>
>>But still CLAM's ./configure was failing.
>>
>>    
>>
>
>You correctly guessed, that safest way to install fftw in FC is
>installing from the lib sources. Maybe you could try to tell fftw's
>configure script to install in '/usr/lib':
>
>$ ./configure --prefix=/usr --enable-float --enable-type-prefix
>
>
>  
>
>>Still both CLAM versions fail during ./configure, the only
>>difference is that the 0.7.0 stops at fftw and 0.8.0-pre2 goes
>>through all of the dependencies even if some fails.
>>
>>    
>>
>
>That's because the configure stuff was completely reworked for CLAM-0.8
>so it didn't croak when the first dependency failed.
>
>  
>
>>Could someone tell me what would be the proper way of getting fftw
>>installed? Why if I extract the fftw tarball from CLAM website I
>>still need to make some links that are not mentioned in any manual?
>>    
>>
>
>Summing up:
>
>1) Purge your system of any traces of packages you have installed (or
>tried to install) previously
>2) Install fftw from sources issuing the command above mentioned.
>
>If that does not work, just drop a message.
>
>  
>
>>I've been sitting several days with that problem now and I am close
>>to give up. Is there some 'best way' of getting CLAM installed? Does
>>    
>>
>
>
>You could have tried asking for help in the list much sooner ;)
>
>Miguel Ramírez.
>
>
>  
>
Hey!
Unfortunatelly, this did not work... After I did this configure (+make,
+make install), the CLAM configure did not detect the fftw (nor sfftw).
But in the mean time I came up with the following solution:
I executed "./configure --enable-shared" in fftw-2.1.5 dir, then "make".
Then I created a directory "CLAM_DIR/../fftw" and two subdirs: "include"
and "lib". I copied all the header files from fftw-2.1.5 subdirs to
"CLAM_DIR/../fftw/include/" and all the files containing "so" in name to
"CLAM_DIR/../fftw/lib/", because I noticed that this is where configure
script looks for them as sandboxed. Then I executed CLAM's configure
(this is the one in build dir) and it detected the fftw fully and all
steps about fftw were successful. Now I still need sfftw probably, don't
I? Is this solution OK?
Now: am I correct that the stuff named "fftw" is double precision and
"sfftw" is single precision? If yes, I am now planing on: going into
fftw-2.1.5 and doing "make clean", "./configure --enable-shared
--enable-type-prefix --enable-float" and then make and again copying
every header file to "CLAM_DIR/../fftw/include/" and every file with
"so" in name to "CLAM_DIR/../fftw/lib/", since I noticed that the
sandbox file is the same for sfftw and fftw.
The only thing that stops me for the moment is that some of the files
would be overwritten, as they have the same name. Will it be safe to do
this? And another hesitation: are "*so*" files enough in
"CLAM_DIR/../fftw/lib/", or some other should also be there?

Rhywek.






More information about the clam-users mailing list