The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Operating Systems > OS X (Apple)
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #2 (permalink)  
Old 05-07-2009
orionrush orionrush is offline
Registered User
  
 

Join Date: May 2009
Posts: 7
update

Im having trouble linking fftw3 properly with the CMakeLists.txt.
I've tied updating the CMakeLists.txt with proper file names but ultimately reverted and put symbolic links directly in the paths that CMakeLists.txt claimed it would be searching. however cmake still cant find the items -can anybody tell me wat Im doing wrong?

btw - (fftw3 was compiled via macports as fink finished with errors.)

Thanks in advance for any help you can offer.
b

Here is my process:

I unpack the tar.gz in the user dir:
Code:
tar -xzvf arss-0.2.3-src.tar.gz
the CMakeLists.text indicats that cmake will be looking for fftw3.h in /usr/local/include

Now at this stage I tried updating the CMakeLists.text to reflect the actual paths to fftw3.h as installed by macports in opt/local/include, but in the end opted to made symbolic links for files and paths from where I found them in the various macports paths /opt/local/ to where CMakeLists.txt indicated.

From CmakeLists.txt
Code:
FIND_PATH (FFTW3_INCLUDE_DIR fftw3.h PATHS /usr/local/include /usr/include /sw/include)

#which I found in opt/local/include/fftw3.h
FIND_LIBRARY (FFTW3_LIBRARY fftw3 fftw PATHS /usr/local/lib /usr/lib /lib /sw/lib)
I couldn't find FFTW3_LIBRARY fftw3 fftw at any of those paths but I did find
libfftw3.3.dylib in opt/local/lib/
So I created symbolic links bridging these.

Code:
sudo mkdir /usr/local/include
ln -s opt/local/include/fftw3.h /usr/local/include/ffw3.h
sudo li -s opt/local/lib/libfftw3.3.dylib usr/local/lib/FFTW3_LIBRARY
I've found under the INSTALL note that the command to compile with cmake:
Code:
cd /arss-0.2.3-src/src/
cmake . && make && make install
cmake still cant find fftw3.h and quits with errors

Here is the terminal output:
Code:
ibook-1:~/arss-0.2.3-src/src barefoot$ cmake . && make && make install       
-- The C compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found components for FFTW3
-- FFTW3_INCLUDE_DIR = /opt/local/include
-- FFTW3_LIBRARY                 = /opt/local/lib/libfftw3.dylib
CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 2.6)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /Users/barefoot/arss-0.2.3-src/src
Scanning dependencies of target arss
[ 20%] Building C object CMakeFiles/arss.dir/arss.o
/Users/barefoot/arss-0.2.3-src/src/arss.c:22:19: error: fftw3.h: No such file or directory
make[2]: *** [CMakeFiles/arss.dir/arss.o] Error 1
make[1]: *** [CMakeFiles/arss.dir/all] Error 2
make: *** [all] Error 2
ibook-1:~/arss-0.2.3-src/src barefoot$
and the contents of the CMakeFiles.txt
Code:
project (arss C)
add_executable (arss arss.c dsp.c util.c image_io.c sound_io.c)


SET (CMAKE_BUILD_TYPE Release)

# look for the FFTW library
FIND_PATH (FFTW3_INCLUDE_DIR fftw3.h PATHS /usr/local/include /usr/include /sw/include)
FIND_LIBRARY (FFTW3_LIBRARY fftw3 fftw PATHS /usr/local/lib /usr/lib /lib /sw/lib)

IF (FFTW3_INCLUDE_DIR AND FFTW3_LIBRARY)
	SET (HAVE_FFTW3 TRUE)
ELSE (FFTW3_INCLUDE_DIR AND FFTW3_LIBRARY)
	IF (NOT FFTW3_FIND_QUIETLY)
		IF (NOT FFTW3_INCLUDE_DIR)
			MESSAGE (STATUS "Unable to find FFTW3 header files!")
		ENDIF (NOT FFTW3_INCLUDE_DIR)
		IF (NOT FFTW3_LIBRARY)
			MESSAGE (STATUS "Unable to find FFTW3 library files!")
		ENDIF (NOT FFTW3_LIBRARY)
	ENDIF (NOT FFTW3_FIND_QUIETLY)
ENDIF (FFTW3_INCLUDE_DIR AND FFTW3_LIBRARY)

IF (HAVE_FFTW3)
	IF (NOT FFTW3_FIND_QUIETLY)
		MESSAGE (STATUS "Found components for FFTW3")
		MESSAGE (STATUS "FFTW3_INCLUDE_DIR = ${FFTW3_INCLUDE_DIR}")
		MESSAGE (STATUS "FFTW3_LIBRARY		 = ${FFTW3_LIBRARY}")
	ENDIF (NOT FFTW3_FIND_QUIETLY)
ELSE (HAVE_FFTW3)
	IF (FFTW3_FIND_REQUIRED)
		MESSAGE (FATAL_ERROR "Could not find FFTW3!")
	ENDIF (FFTW3_FIND_REQUIRED)
ENDIF (HAVE_FFTW3)

TARGET_LINK_LIBRARIES (arss fftw3 m)

INSTALL(PROGRAMS arss DESTINATION bin)

still bumbling . . . .