[Stk] building libstk on OSX as Intel or Universal

Jerzy Gangi jerzy at jhu.edu
Tue Apr 1 18:23:55 PDT 2008


Hi everyone,

I'm still trying to get this to compile. I followed Steve's advice and

1) ran configure like this: $ CFLAGS="-march=i386" ./configure;
2) edited the generated Makefile: below this line

CFLAGS  += -Wall -g -D__GXX__ $(INCLUDE) -Iinclude

I added

CFLAGS  += -march=i386

3) run $ make

And the files are compiled, for example...

g++ -O3 -Wall -g -D__GXX__ -I../include -Iinclude -march=i386
-D__LITTLE_ENDIAN__  -D__MACOSX_CORE__ -DRAWWAVE_PATH=\"../rawwaves/\"
-c Stk.cpp -o Release/Stk.o

I see the march flag worked (jumps for joy). However, after about 80
of the files are compiled I get a problem:

g++ -O3 -Wall -g -D__GXX__ -I../include -Iinclude -march=i386
-D__LITTLE_ENDIAN__  -D__MACOSX_CORE__ -DRAWWAVE_PATH=\"../rawwaves/\"
-c RtMidi.cpp -o Release/RtMidi.o
In file included from
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:29,
                 from
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32,
                 from
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from
/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                 from
/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from
/System/Library/Frameworks/CoreMIDI.framework/Headers/MIDIServices.h:73,
                 from
/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h:21,
                 from RtMidi.cpp:167:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:35:3: error:
#error "SSE instruction set not enabled"
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:216:
error: '__m128' does not name a type
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:217:
error: '__m128i' does not name a type
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:218:
error: '__m128d' does not name a type
make: *** [RtMidi.o] Error 1

Can anyone help me with this? I would like to use this as part of my
work at Peabody Conservatory, but I can't seem to get it compiled.

are there no other OS X Intel users using STK???

Thank you,
Jerzy Gangi

On 3/29/08, Jerzy Gangi <jerzy at jhu.edu> wrote:
> Steve,
>
>  Cool, thanks for the tip on debugging the build phase.
>
>  First, the configure seems to be making sense of the i386:
>
>  "checking build system type... i386-apple-darwin9.1.0
>  checking host system type... i386-apple-darwin9.1.0"
>
>  The MAKE looks OK to me (I'm no makefile pro), and here's the output
>  of one file:
>
>  g++ -O3 -Wall -g -D__GXX__ -I../include -Iinclude -D__LITTLE_ENDIAN__
>  -D__MACOSX_CORE__ -DRAWWAVE_PATH=\"../rawwaves/\" -c Stk.cpp -o
>  Release/Stk.o
>
>  So I don't see g++ being run with the -march=i386 flag during the
>  "make" phase. How do I tell the makefile do run with march i386? I
>  thought configure took care of detecting the architecture, and it
>  seemed to recognize that? I do see it's setting little endian like you
>  said, tho. Finally, I redownloaded STK so I didn't need to run make
>  clean but thanks for that tip too.
>
>  Are there any other XCODE users on the list?  This toolkit looks
>  really cool, I hope I can get it running to use it.
>
>  Let me know if you have any more tips...
>
>  Best,
>  Jerzy G
>
>
>  On 3/29/08, Stephen Sinclair <sinclair at music.mcgill.ca> wrote:
>  >
>  >  Jerzy Gangi wrote:
>  >  > Thanks for your note Steve. I think you're saying to run:
>  >  >
>  >  > 1) in the stk root directory:
>  >  > $ CFLAGS="-march=i386" ./configure;
>  >  >
>  >  > 2) in the src directory run make (can't run make in the stk root directory)
>  >  >
>  >  > Is this correct? I think I must be wrong because eXCODE still says the
>  >  > binary libstk.a is "not of the required architecture"
>  >  >
>  >
>  > That's right, the configure script is in the root directory, but for
>  >  some reason only produces a Makefile in the src directory.  Otherwise it
>  >  should hopefully work the way I stated.
>  >
>  >  When trying to debug building problems, make sure you look at the output!
>  >  The make program outputs the commands before it runs them.
>  >  Does the output show that gcc is being executed with the -march=i386 flag?
>  >
>  >  Also, make sure you "make clean" first if you've built before.
>  >  You might also have to explicitly set the LITTLE_ENDIAN flag (or
>  >  whatever it is called), since if you're building for i386 on PPC it
>  >  might detect this wrong (and vice versa).
>  >
>  >
>  >  Steve
>  >
>



More information about the Stk mailing list