First time Compileing ARSS on G3 hardware

As the title implies I'm taking the jump into linux compiling for os x - Mostly out of desperation.

I have a project that hinges on a CLI app called arss (The Analysis & Resynthesis Sound Spectrograph) (note that it used to be called arse;)

it converst bmp into wav files.

All works fine on my g5 tower and intell MacBookPro - but I need to put to use some old iBooks.

When I run the available distrubution for os x on my g3 500hz iBook 10.4.11 I get the following error:

dyld: incompatible cpu-subtype
Trace/BPT trap

on the arss site they mention that "The source, which can be compiled for any platform for which FFTW 3.x is available"

so Ive downloaded the source tar.gz and unpacked it
tar -xvzf
and its ended up in my user directory

I've now installed fftw-3 via fink
and because the readme in the source file called for, it ive installed cmake also via fink.

Am I far enough down the rabbit hole?

The next setps (assuming Im on the right track at all) are not at all clear to me. Can anyone point me in the right direction?

many thanks in advance -
b

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? :confused:

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:

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

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.

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:

cd /arss-0.2.3-src/src/
cmake . && make && make install

cmake still cant find fftw3.h and quits with errors :frowning:

Here is the terminal output:

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

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 . . . .

I have slayed my own dragon(s) -- of my own making.

If you have read my other posts on this you know. If not here is my solution and learning process for compileing ARSS on a G3 mac.

In the beginning my approach was wrong. The developer noted that there was a mac compile string on the ARSS website which uses gcc not cmake. In my defense I didn't think to look in the news section on the main page - but the site isn't that large, so if I had, I could have saved myself a day or so of stress.

Here are the steps that I went through:
I have to note that, it is possible, even probable that I have done something that is technically incorrect. I'm just starting into all this stuff so please feel free to point out any shortcomings or refinements. I have not listed exact steppes for compile etc. But I have found this general primer to be useful.

ARSS The Analysis & Resynthesis Sound Spectrograph

On my older hardware (a G3 500mhz icebook, 10.4.11) I received the following errors useing the provided mac binarys.

 dyld: incompatible cpu-subtype
Trace/BPT trap

I first removed the non working version:

Machine$ whereis arss 
Machine$ /usr/local/bin/arss 
Machine$ sudo rm /usr/local/bin/arss

In the ARSS site I read:

However I had no joy using the macports distro of FFTW3, which FFTW promotes, and was never able to get ARSS to compile as it couldn't find fftw3.h. (see note below)

So I downloaded the source for FFTW3 and followed their instructions for compiling on a mac FFTW Installation on the MacOS.

I unpacked and compiled FFTW3 into /usr/local/

I then downloaded the ARSS source from the website and unpacked it and installed it into /bin/

compile using:

cd /bin/
sudo tar -xzvf arss-0.2.3-src.tar.gz
cd /bin/arss-0.2.3-src/src
sudo gcc *.c -o  /bin/arss -lm -lfftw3 -O2 

Presto, kabam, golly-gee-whiz, it works. :smiley:

Notes:
Now Im not sure if there is something else I should be doing or if /bin/ is technically the correct place to install this. I'm all sorts of confused about how and where things *should* be installed.

According to an email from the author, Michel Rouzic:

This is the part that I could never get to work using the macports distribution of FFTW-3 (fink would never update correctly on this machine and didn't list FFTW as a possible port). No matter what I did (using cmake or gcc) I would get an error stating that it couldn't find fftw3.h.

using gcc I tried using various manifestations of -l but could never tell if I was doing some noob error in keying it in, or if it was the same old problem.

Using cmake I tried updating CMake files to reflect the macports location under /opt/. I even created symbolic links to the fftw3.h locations along paths listed in the cmake file. cmake may not have compiled it correctly but, in my understanding, it should have at least found the header files.

Well since no one replied , I would like to thank you for keeping us informed and sharing with us your issue and resolution!! (And hope the forum will be of more use next time...)

All the best

VBE, Thanks - and me to.

correction -

FFTW promotes the Fink distro not MacPorts, not that it should matter. Fink was having all sorts of problems updating on this machine and would never finsih FFTW3 with out errors. Had that not been the case, perhaps I would have had less issues.