I have successfully compiled Audacity 1.3.4beta on a MacBook running 10.5.1. Here are a list of the changes I had to make:
* the 'dlcompat' library is no longer necessary on OS X (from 10.3 forward); the toplevel Makefile was changed to reflect this for Darwin 7 and 8 (10.3 and 10.4) but not for Darwin 9 (10.5), so it was defaulting to the setting for 10.2 and earlier. If one adds in an appropriate line in the configure machinery (look for "Darwin8"), this will solve this problem.
* libFLAC is erroring out on not finding some of the ia32 assembly optimization routines. Recompiling libflac without the optimizations will allow the Audacity compilation to pass this hurdle (albeit without those optimizations, which could make life kind of hurtful for those loading/saving FLAC-formatted data.) I don't know why the error was occurring--someone with more knowledge than me will have to look into it.
* The message catalogs are not able to be built because OS X does not include the 'gettext' package which processes them. I installed the latest version of the GNU gettext package, and it worked fine.
* The twolame library was failing during linking because the 'buffer_putbits' routine was declared with NO_DLL_INLINE in the source and header files. Removing these declarations and recompiling twolame keeps the errors from occurring.
* There is an existing install of wxWidgets included with 10.5; however, this is not built the way that Audacity needs it, so you need to compile your own version following the instructions in Audacity's 'compile.txt' file (found in the 'mac' subdirectory of the source tree). I advise, however, that you don't install it to /usr/local as it instructs, but in another directory of your choosing, such as a directory living under your home directory. (wxWidgets will be statically linked with Audacity anyway, so the nonstandard location shouldn't matter.) To enable Audacity's build process to find your custom build, you need to define some environment variables:
Assuming your custom build of wxWidgets is in "/Users/you/wxWidgets":
- Code: Select all
export PATH=/Users/you/wxWidgets/bin:$PATH
export LDFLAGS="-L/Users/you/wxWidgets/lib"
export CPPFLAGS="-I/Users/you/wxWidgets/include"
Do this
before you run the 'configure' command for Audacity.
I think those are all the changes; if anything else returns to my mind I will edit this post to add it.
The application runs and seems to function nicely, including importing and exporting MP3, FLAC, Ogg Vorbis, MP2 and WAV files.
UPDATE: I was also able to build Audacity 1.3.4beta on an Intel iMac running 10.4.11; the twolame problem didn't appear on this build, and of course the dlcompat hack isn't needed either on 10.4. The libflac problem seems like it's the only obstacle. I don't have a PPC machine available to compile on and I am not sure how to make Audacity do a Universal build; if anyone wants to post how this is done I'll be glad to try it. There is a minor visual glitch that I can see in the Preferences window--the group boxes extend a little bit to the left into the list of preferences. But it doesn't affect any functionality.
UPDATE 2: I did a clean build on the 10.4.11 iMac, and the only change I had to make in the source tree (apart from installing gettext and wxMac, of course) is the following:
- Code: Select all
--- lib-src/libflac/configure-orig 2008-01-04 12:46:56.000000000 -0800
+++ lib-src/libflac/configure 2008-01-04 12:15:13.000000000 -0800
@@ -19520,7 +19520,7 @@
enableval="$enable_asm_optimizations"
asm_opt=no
else
- asm_opt=yes
+ asm_opt=no
fi;
(Yes, I know I should change configure.in since it's the source code for configure. But I don't know the autoconf system well enough to do that... and this works.)
Does anyone know how to get a build submitted to the official place so the public can try it out? I'll submit either one of these Intel builds if someone can tell me how.
UPDATE 3: A friend allowed me to attempt the build on a Dual G5, and it went smoothly with no changes required to the source tree. (Not surprising since the ia32 assembly routines were the only problem with the Intel build on 10.4...) Next I'm going to attempt a Universal build, using the instructions at
http://developer.apple.com/technotes/tn2005/tn2137.html.