Pitfalls for Developers

Getting Started

Obtaining and building the sources is explained in the readme.txt in the main directory and on the project site:

Build Errors 1

If, after obtaining the sources as described above, you get compilation errors like these:

Building Framework(s)...
JamomaFoundation.xcodeproj: BUILD FAILED **************************************

to check what's going on, build the project in XCode (see here how to set up XCode) or just by cd into the library folder and run a make Debug.

In one case, there were permission problems with the directory /usr/local/jamoma/ that was not writable for the build project.

Build Errors 2

If building individual .mxo fails, e.g with jcom.hub.xcodeproj, XCode complains:

Build setting $(PRODUCT_NAME) undefined

First build the whole framework as described in Getting Started above, the build script will rewrite the XCode projects for the individual externals.

Some externals like jcom.send or jcom.receive are not built

This is normal, they are instantiated internally by jcom.loader and thus don't exist as .mxo.

Xcode 4.3

Note that the Command Line Tools are NOT installed by default. You will need to install these via the Preferences, under the Downloads panel (as described in What's New In Xcode).

Once the Command Line Tools are installed, you will also need to create new symbolic links (as described here) for 2 specific executables so that they work properly with the Ruby build scripts and Makefiles. This is a result of Apple's decision to change their names in the Xcode 4.3. You can create these links with the following 2 lines in the Terminal:

sudo ln -sn /usr/llvm-gcc-4.2/bin/llvm-g++-4.2 /usr/bin/g++-4.2
sudo ln -sn /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

Startup Errors

Errors on Max/MSP startup like this:

2010-08-27 15:00:10.814 MaxMSP[54438:20b] Error loading /Applications/Max5/Cycling '74/extensions/jcom.loader.mxo/Contents/MacOS/jcom.loader: 
dlopen(/Applications/Max5/Cycling '74/extensions/jcom.loader.mxo/Contents/MacOS/jcom.loader, 262): Library not loaded: 
@executable_path/../Frameworks/JamomaFoundation.framework/Versions/A/JamomaFoundation
    Referenced from: /Applications/Max5/Cycling '74/extensions/jcom.loader.mxo/Contents/MacOS/jcom.loader
    Reason: image not found

are most likely due to an old jcom.loader.mxo hanging around. Even if the bundle's date is today, due to the install script copying the fresh jcom.loader.mxo inside the old jcom.loader.mxo, the old contents are not overwritten!

outdate: (You should not have to put symlinks to all frameworks like ~/src/jamoma/Modules/DSP/library/build/UninstalledProducts/JamomaDSP.framework into /Library/Frameworks to have them found and to avoid these errors).

There might also be a similar permission issue with the Max5/Cycling '74 folder as the /usr/local/jamoma/ folder that prevents jcom.loader from being copied (or moved) across during the build process.

Git Version Control Errors

The github site can also make problems like below:

% git push origin HEAD
ssh: connect to host fs5 port 22: Connection timed out
fatal: The remote end hung up unexpectedly

Call this with -v and check http://status.github.com for GitHub system status.:

git push -v origin HEAD 
Pushing to git@github.com:tap/JamomaModular.git
Storage server temporarily offline. See http://status.github.com for GitHub system status.
fatal: The remote end hung up unexpectedly