Problem Building Unix Application

Discussion in 'Mac Programming' started by cpsmusic, Jun 17, 2010.

  1. cpsmusic macrumors newbie

    Joined:
    Feb 24, 2008
    #1
    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
     
  2. mrbash macrumors 6502

    Joined:
    Aug 10, 2008
    #2
    Make was unable to locate your Core libraries. Ensure that you have run configure correctly, and that your environment parameters are set correctly.
     
  3. chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #3
    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.
     
  4. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #4
    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
     
  5. cpsmusic thread starter macrumors newbie

    Joined:
    Feb 24, 2008
    #5
    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.
     
  6. cpsmusic thread starter macrumors newbie

    Joined:
    Feb 24, 2008
    #6
    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?
     
  7. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #7
    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
     
  8. cpsmusic thread starter macrumors newbie

    Joined:
    Feb 24, 2008
    #8
    Not sure what you mean - what "project page"?
     
  9. Hansr macrumors 6502a

    Joined:
    Apr 1, 2007
  10. cpsmusic thread starter macrumors newbie

    Joined:
    Feb 24, 2008
    #10
  11. chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #11
    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.
     
  12. cpsmusic thread starter macrumors newbie

    Joined:
    Feb 24, 2008
    #12
    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.
     

Share This Page