[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