Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

cpsmusic

macrumors newbie
Original poster
Feb 24, 2008
23
0
Hi,

I'm trying to build a Unix application on Snow Leopard (using configure/make).

So far, I've managed to get the the app to compile however I think it's getting stuck at the link stage. From what I can see, there are some "\\" that are getting put into the link command for the three frameworks. Am I right in thinking that this is the problem? How can I fix this?

Here's the build output:


New-MacBook:bristol-0.60.5 cpsmusic$ make
make all-recursive
Making all in libbristolaudio
make[2]: Nothing to be done for `all'.
Making all in libbristolmidi
make[2]: Nothing to be done for `all'.
Making all in libbrightonX11
make[2]: Nothing to be done for `all'.
Making all in libbrightonC11
make[2]: Nothing to be done for `all'.
Making all in libbristolic
make[2]: Nothing to be done for `all'.
Making all in libbrighton
make[2]: Nothing to be done for `all'.
Making all in libbristol
make[2]: Nothing to be done for `all'.
Making all in brighton
make[2]: Nothing to be done for `all'.
Making all in bristol
/bin/sh ../libtool --tag=CC --mode=link gcc -pthread -Wall -g -I./../include/slab -I./../include/bristol -I. -D_BRISTOL_DRAIN -D_BRISTOL_JACK -D_BRISTOL_JACK_MIDI -DBRISTOL_HAS_ALSA=0 -I/usr/local/include -ffast-math -fomit-frame-pointer -O2 -g -O2 -I/usr/X11R6/include -o bristol -Bdynamic `pkg-config --silence-errors --libs alsa` -L../libbristolmidi/.libs -L../libbristolaudio/.libs -L../libbristol/.libs -L../libbristolic -lbristolmidi -lbristolaudio -lbristol -lm -lpthread `pkg-config --silence-errors --libs jack` aksdco.o aksenv.o aksfilter.o aksreverb.o arpdco.o audioEngine.o audiothread.o bristolaks.o bristolarp2600.o bristolaxxe.o bristoldx.o bristolexplorer.o bristolhammond.o bristoljuno.o bristol.o bristolmemorymoog.o bristolmixer.o bristolmm.o bristolobx.o bristolodyssey.o bristolpoly6.o bristolpoly.o bristolprophet52.o bristolprophet.o bristolsampler.o bristolsystem.o bristolvox.o dca.o dco.o dimensionD.o dxop.o electroswitch.o envelope.o expdco.o filter2.o filter.o follower.o hammond.o hammondchorus.o hpf.o junodco.o lfo.o midihandlers.o midinote.o midithread.o noise.o prophetdco.o resonator.o reverb.o ringmod.o rotary.o sdco.o sdcoutils.o soundManager.o thesermon.o vibrachorus.o vox.o bristolsolina.o bristolroadrunner.o bristolgranular.o granulardco.o bristolrealistic.o bristoljupiter.o bristolbitone.o bit1osc.o arpeggiator.o bristolcs80.o activesense.o cs80osc.o blo.o bristolprophet1.o cs80env.o bristolsonic6.o bristoltrilogy.o trilogyosc.o bristolpoly800.o env5stage.o nro.o bristolbme700.o bristolbassmaker.o bristolsid1.o bristolsid2.o ringbuffer.o -framework\ CoreAudio\ -framework\ CoreServices\ -framework\ AudioUnit -L/usr/local/lib -ljack -lbristolmidi -lbristolaudio -lbristolic -lbristol -lm -lpthread
libtool: link: gcc -pthread -Wall -g -I./../include/slab -I./../include/bristol -I. -D_BRISTOL_DRAIN -D_BRISTOL_JACK -D_BRISTOL_JACK_MIDI -DBRISTOL_HAS_ALSA=0 -I/usr/local/include -ffast-math -fomit-frame-pointer -O2 -g -O2 -I/usr/X11R6/include -o .libs/bristol -Bdynamic -framework\\ CoreAudio\\ -framework\\ CoreServices\\ -framework\\ AudioUnit aksdco.o aksenv.o aksfilter.o aksreverb.o arpdco.o audioEngine.o audiothread.o bristolaks.o bristolarp2600.o bristolaxxe.o bristoldx.o bristolexplorer.o bristolhammond.o bristoljuno.o bristol.o bristolmemorymoog.o bristolmixer.o bristolmm.o bristolobx.o bristolodyssey.o bristolpoly6.o bristolpoly.o bristolprophet52.o bristolprophet.o bristolsampler.o bristolsystem.o bristolvox.o dca.o dco.o dimensionD.o dxop.o electroswitch.o envelope.o expdco.o filter2.o filter.o follower.o hammond.o hammondchorus.o hpf.o junodco.o lfo.o midihandlers.o midinote.o midithread.o noise.o prophetdco.o resonator.o reverb.o ringmod.o rotary.o sdco.o sdcoutils.o soundManager.o thesermon.o vibrachorus.o vox.o bristolsolina.o bristolroadrunner.o bristolgranular.o granulardco.o bristolrealistic.o bristoljupiter.o bristolbitone.o bit1osc.o arpeggiator.o bristolcs80.o activesense.o cs80osc.o blo.o bristolprophet1.o cs80env.o bristolsonic6.o bristoltrilogy.o trilogyosc.o bristolpoly800.o env5stage.o nro.o bristolbme700.o bristolbassmaker.o bristolsid1.o bristolsid2.o ringbuffer.o "-framework CoreAudio -framework CoreServices -framework AudioUnit" -L/Users/cpsmusic/Desktop/bristol-0.60.5/libbristolmidi/.libs -L/Users/cpsmusic/Desktop/bristol-0.60.5/libbristolaudio/.libs -L/Users/cpsmusic/Desktop/bristol-0.60.5/libbristol/.libs -L/Users/cpsmusic/Desktop/bristol-0.60.5/libbristolic -L/usr/local/lib /Users/cpsmusic/Desktop/bristol-0.60.5/libbristolmidi/.libs/libbristolmidi.dylib /Users/cpsmusic/Desktop/bristol-0.60.5/libbristolaudio/.libs/libbristolaudio.dylib -ljack /Users/cpsmusic/Desktop/bristol-0.60.5/libbristolic/.libs/libbristolic.dylib /Users/cpsmusic/Desktop/bristol-0.60.5/libbristol/.libs/libbristol.dylib -lm -lpthread -pthread
i686-apple-darwin10-gcc-4.2.1: CoreAudio\: No such file or directory
i686-apple-darwin10-gcc-4.2.1: CoreServices\: No such file or directory
i686-apple-darwin10-gcc-4.2.1: AudioUnit: No such file or directory
make[2]: *** [bristol] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
 
Make was unable to locate your Core libraries. Ensure that you have run configure correctly, and that your environment parameters are set correctly.
 
Post the makefile.

What you note as some "\\" is being caused by something that has this single quoted string with embedded spaces:
Code:
"-framework CoreAudio -framework CoreServices -framework AudioUnit"
You can see this exact quoted string right after ringbuffer.o in your output.

The backslashes are inserted to escape the embedded spaces. The backslashes are doubled (i.e. converted to \\) to escape the single backslashes. If that doesn't make sense, you've probably never written troff macros or shell programs that write other shell programs.

The thing is, the string should not be quoted, because the compiler and linker need separate arguments. But no one can tell what is actually doing the quoting without seeing the makefile(s).

Or you could post the URL where you obtained this in the first place.
 
I'm guessing it's this:
http://sourceforge.net/projects/bristol/

No idea about getting it built, though. If problems persist it looks like the project is active, you could probably ping the maintainer.

-Lee

Yes, that's the project.

There's a thread discussing the developer's views on porting the application here:

http://sourceforge.net/tracker/index.php?func=detail&aid=2866220&group_id=157415&atid=803737

My understanding is that he doesn't have much interest in porting.
 
Post the makefile.

What you note as some "\\" is being caused by something that has this single quoted string with embedded spaces:
Code:
"-framework CoreAudio -framework CoreServices -framework AudioUnit"
You can see this exact quoted string right after ringbuffer.o in your output.

The backslashes are inserted to escape the embedded spaces. The backslashes are doubled (i.e. converted to \\) to escape the single backslashes. If that doesn't make sense, you've probably never written troff macros or shell programs that write other shell programs.

The thing is, the string should not be quoted, because the compiler and linker need separate arguments. But no one can tell what is actually doing the quoting without seeing the makefile(s).

Or you could post the URL where you obtained this in the first place.

The source code is available here:

http://sourceforge.net/projects/bristol/

I had to make a few small changes to get the app to compile - all were related to headers being in slightly different places on the Mac.

According to find, there are 11 makefiles distributed throughout the source.

Should I attach them all?
 
I would say you should post them to the post diffs to the thread you made on the project page. Someone is more likely to go there for problems than come here.

-Lee
 
If you read the thread it says that the project's developer isn't interested in a mac port and doesn't have a mac (BTW, I didn't start that thread!). As this was a build problem I didn't think he'd be able to help. That's why I asked here.

From what I can see, the problem is with the build script, in particular, the final link stage.

Post what you changed.

Anyone can get the originals, now that the original is identified. Only you have the changes you made.

Since there seem to be multiple files involved, I suggest zipping what you changed and adding it as an attachment to your post.
 
Post what you changed.

Anyone can get the originals, now that the original is identified. Only you have the changes you made.

Since there seem to be multiple files involved, I suggest zipping what you changed and adding it as an attachment to your post.

Here are the changes that need to be made to compile the program:

In:
libbristolaudio/audioEngine.c
libbristolaudio/audioGUIOSS.c

replace

#include <malloc.h>

with

#if (MACHINE == FreeBSD)
#include <stdlib.h>
#else
#include <malloc.h>
#endif

In:
include/brighton/brightoninternals.h

replace

#include <stdio.h>

with

#include <stdio.h>
#include <sys/types.h>

In:
bristol/bristol.c

replace

#include <wait.h>

with

#include <sys/wait.h>

These changes are fairly minimal. The problem seems to lie in the build, in particular, the way that the escaped spaces are being handled.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.