[Csnd] Building 32-bit Csound on Snow Leopard, problems with sndfile
Date | 2010-09-02 04:32 |
From | Jacob Joaquin |
Subject | [Csnd] Building 32-bit Csound on Snow Leopard, problems with sndfile |
I managed to create a universal binary with 2 architectures. At least this is what "file /usr/local/lib/libsndfile.dylib" produces: /usr/local/lib/libsndfile.dylib: Mach-O universal binary with 2 architectures /usr/local/lib/libsndfile.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64 /usr/local/lib/libsndfile.dylib (for architecture i386): Mach-O dynamically linked shared library i386 The next step is to do the same for Csound. Though when I use gcc4opt=i386, scons breaks with this message: Checking for C library sndfile... no The sndfile library is required to build Csound 5. Any suggestions? In order to get Snow Leopard to build an i386 of libsnfile, I used these settings: export CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch i386" export CXXFLAGS=$CFLAGS export LDFLAGS="-Wl -syslibroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch i386" I'm guessing I might have to set mmacosx-version-min and the SDK for Csound as well. Though I'm not that far along with scons to try this yet. Best, Jake |
Date | 2010-09-02 08:17 |
From | jpff@cs.bath.ac.uk |
Subject | [Csnd] Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
You need to ensure that sndfile.h is available to the compiler. that message occurs if either th eheader or the library are not seen in a sinple compilation. SCons shoul dleave a log around to show the exact error ==John ff > I managed to create a universal binary with 2 architectures. At least > this is what "file /usr/local/lib/libsndfile.dylib" produces: > > /usr/local/lib/libsndfile.dylib: Mach-O universal binary with 2 > architectures > /usr/local/lib/libsndfile.dylib (for architecture x86_64): Mach-O > 64-bit dynamically linked shared library x86_64 > /usr/local/lib/libsndfile.dylib (for architecture i386): Mach-O > dynamically linked shared library i386 > > > The next step is to do the same for Csound. Though when I use > gcc4opt=i386, scons breaks with this message: > > > Checking for C library sndfile... no > The sndfile library is required to build Csound 5. > > > Any suggestions? In order to get Snow Leopard to build an i386 of > libsnfile, I used these settings: > > > export CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk > -mmacosx-version-min=10.5 -arch i386" > export CXXFLAGS=$CFLAGS > export LDFLAGS="-Wl -syslibroot /Developer/SDKs/MacOSX10.5.sdk > -mmacosx-version-min=10.5 -arch i386" > > > I'm guessing I might have to set mmacosx-version-min and the SDK for > Csound as well. Though I'm not that far along with scons to try this > yet. > > Best, > Jake > -- > The Csound Blog - http://csoundblog.com/ > Slipmat - http://slipmat.noisepages.com/ > > > Send bugs reports to the Sourceforge bug tracker > https://sourceforge.net/tracker/?group_id=81968&atid=564599 > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe > csound" > > > > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2010-09-02 09:07 |
From | Victor Lazzarini |
Subject | [Csnd] Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
First things first: check config.log for any relevant messages. Also, as far as I can tell you don't need to set -isysroot to build i386 code on OSX 10.6, only -arch i386; maybe that has caused the problems. Victor On 2 Sep 2010, at 04:32, Jacob Joaquin wrote: > I managed to create a universal binary with 2 architectures. At least > this is what "file /usr/local/lib/libsndfile.dylib" produces: > > /usr/local/lib/libsndfile.dylib: Mach-O universal binary with 2 > architectures > /usr/local/lib/libsndfile.dylib (for architecture x86_64): Mach-O > 64-bit dynamically linked shared library x86_64 > /usr/local/lib/libsndfile.dylib (for architecture i386): Mach-O > dynamically linked shared library i386 > > > The next step is to do the same for Csound. Though when I use > gcc4opt=i386, scons breaks with this message: > > > Checking for C library sndfile... no > The sndfile library is required to build Csound 5. > > > Any suggestions? In order to get Snow Leopard to build an i386 of > libsnfile, I used these settings: > > > export CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk > -mmacosx-version-min=10.5 -arch i386" > export CXXFLAGS=$CFLAGS > export LDFLAGS="-Wl -syslibroot /Developer/SDKs/MacOSX10.5.sdk > -mmacosx-version-min=10.5 -arch i386" > > > I'm guessing I might have to set mmacosx-version-min and the SDK for > Csound as well. Though I'm not that far along with scons to try this > yet. > > Best, > Jake > -- > The Csound Blog - http://csoundblog.com/ > Slipmat - http://slipmat.noisepages.com/ > > > Send bugs reports to the Sourceforge bug tracker > https://sourceforge.net/tracker/?group_id=81968&atid=564599 > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body > "unsubscribe csound" > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2010-09-02 17:54 |
From | Jacob Joaquin |
Subject | [Csnd] Re: Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
First, I recompiled libsndfile.dylib getting rid of -isysroot, and verified that the new file is still a universal binary. Then I recompiled and the same issue popped up. I checked the config.log, and here's the relevant portion: gcc -o .sconf_temp/conftest_1 .sconf_temp/conftest_1.o -L. -L. -L/usr/local/lib -L. -L. -L/usr/local/lib -lsndfile ld: warning: in .sconf_temp/conftest_1.o, file was built for i386 which is not the architecture being linked (x86_64) Undefined symbols: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found collect2: ld returned 1 exit status scons: Configure: no My only guess is that I need to somehow specify to compile against i386 version inside the universal lib. And before I forget, thanks everyone for all your help so far. I don't think I'll make it through this process with you. Best, Jake |
Date | 2010-09-02 19:40 |
From | Jacob Joaquin |
Subject | [Csnd] Re: Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
Got it working. This is what I had to do in SConstruct on Snow Leopard. if getPlatform() == 'darwin': # if cpuType == 'universal': # commonEnvironment.Prepend(CCFLAGS = Split('-O3 -arch i386 -arch ppc ')) # commonEnvironment.Prepend(CXXFLAGS = Split('-O3 -arch i386 -arch ppc ')) # commonEnvironment.Prepend(LINKFLAGS = Split('-arch i386 -arch ppc ')) commonEnvironment.Prepend(CCFLAGS = Split('-O3 -arch i386 ')) commonEnvironment.Prepend(CXXFLAGS = Split('-O3 -arch i386 ')) commonEnvironment.Prepend(LINKFLAGS = Split('-arch i386 ')) I'm guessing Snow Leopard doesn't like trying to compile things for ppc. So I now compiling a version of Csound that works with Processing. The next step is to compile Csound doubles and making it work with Processing. Hopefully I'll be able to release a Doubles version of Csoundo sometime tomorrow. Best, Jake |
Date | 2010-09-02 19:56 |
From | Victor Lazzarini |
Subject | [Csnd] Re: Re: Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
this can be done with a different option; I'll workout and updated SConstruct On 2 Sep 2010, at 19:40, Jacob Joaquin wrote: > Got it working. This is what I had to do in SConstruct on Snow > Leopard. > > > if getPlatform() == 'darwin': > # if cpuType == 'universal': > # commonEnvironment.Prepend(CCFLAGS = Split('-O3 -arch i386 > -arch ppc ')) > # commonEnvironment.Prepend(CXXFLAGS = Split('-O3 -arch i386 > -arch ppc ')) > # commonEnvironment.Prepend(LINKFLAGS = Split('-arch i386 - > arch ppc ')) > commonEnvironment.Prepend(CCFLAGS = Split('-O3 -arch i386 ')) > commonEnvironment.Prepend(CXXFLAGS = Split('-O3 -arch i386 ')) > commonEnvironment.Prepend(LINKFLAGS = Split('-arch i386 ')) > > > I'm guessing Snow Leopard doesn't like trying to compile things for > ppc. So I now compiling a version of Csound that works with > Processing. The next step is to compile Csound doubles and making it > work with Processing. Hopefully I'll be able to release a Doubles > version of Csoundo sometime tomorrow. > > Best, > Jake > -- > The Csound Blog - http://csoundblog.com/ > Slipmat - http://slipmat.noisepages.com/ > > > Send bugs reports to the Sourceforge bug tracker > https://sourceforge.net/tracker/?group_id=81968&atid=564599 > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body > "unsubscribe csound" > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2010-09-02 19:58 |
From | Victor Lazzarini |
Subject | [Csnd] Re: Re: Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
But if you defined cpuType NOT as universal, that option should not have been taken; it is strange. On 2 Sep 2010, at 19:40, Jacob Joaquin wrote: > Got it working. This is what I had to do in SConstruct on Snow > Leopard. > > > if getPlatform() == 'darwin': > # if cpuType == 'universal': > # commonEnvironment.Prepend(CCFLAGS = Split('-O3 -arch i386 > -arch ppc ')) > # commonEnvironment.Prepend(CXXFLAGS = Split('-O3 -arch i386 > -arch ppc ')) > # commonEnvironment.Prepend(LINKFLAGS = Split('-arch i386 - > arch ppc ')) > commonEnvironment.Prepend(CCFLAGS = Split('-O3 -arch i386 ')) > commonEnvironment.Prepend(CXXFLAGS = Split('-O3 -arch i386 ')) > commonEnvironment.Prepend(LINKFLAGS = Split('-arch i386 ')) > > > I'm guessing Snow Leopard doesn't like trying to compile things for > ppc. So I now compiling a version of Csound that works with > Processing. The next step is to compile Csound doubles and making it > work with Processing. Hopefully I'll be able to release a Doubles > version of Csoundo sometime tomorrow. > > Best, > Jake > -- > The Csound Blog - http://csoundblog.com/ > Slipmat - http://slipmat.noisepages.com/ > > > Send bugs reports to the Sourceforge bug tracker > https://sourceforge.net/tracker/?group_id=81968&atid=564599 > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body > "unsubscribe csound" > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2010-09-02 20:23 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
Hi, Don't know about Csound, which is a tougher beast, but I build QuteCsound universal on Snow Leopard... Cheers, Andrés On Thu, Sep 2, 2010 at 7:40 PM, Jacob Joaquin |
Date | 2010-09-02 23:18 |
From | Victor Lazzarini |
Subject | [Csnd] Re: Re: Re: Building 32-bit Csound on Snow Leopard, problems with sndfile |
No, what I think is happenning is that gcc4opt is not being passed to the config checks correctly. That message says that the config test was built with -arch i386 and linked against -arch x86_64. Again, some SConstruct bug. Victor On 2 Sep 2010, at 17:54, Jacob Joaquin wrote: > First, I recompiled libsndfile.dylib getting rid of -isysroot, and > verified that the new file is still a universal binary. Then I > recompiled and the same issue popped up. I checked the config.log, and > here's the relevant portion: > > > gcc -o .sconf_temp/conftest_1 .sconf_temp/conftest_1.o -L. -L. > -L/usr/local/lib -L. -L. -L/usr/local/lib -lsndfile > ld: warning: in .sconf_temp/conftest_1.o, file was built for i386 > which is not the architecture being linked (x86_64) > Undefined symbols: > "_main", referenced from: > start in crt1.10.6.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > scons: Configure: no > > > My only guess is that I need to somehow specify to compile against > i386 version inside the universal lib. > > And before I forget, thanks everyone for all your help so far. I don't > think I'll make it through this process with you. > > Best, > Jake > -- > The Csound Blog - http://csoundblog.com/ > Slipmat - http://slipmat.noisepages.com/ > > > Send bugs reports to the Sourceforge bug tracker > https://sourceforge.net/tracker/?group_id=81968&atid=564599 > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body > "unsubscribe csound" > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |