| I was afraid of that...
The trick below might have worked, haven't tried to run the resulting
binary on a PPC machine yet:
get CsoundLib from the other archs package, it's in
/Library/Frameworks/CsoundLib.framework/Versions/Current/CsoundLib.
name the original one CsoundLib.1 and the other one CsoundLib.2
use lipo to create a universal:
$ sudo lipo -create CsoundLib.1 CsoundLib.2 -output CsoundLib
Check that it worked:
$ cd /Library/Frameworks/CsoundLib.framework/Versions/Current/
$ file CsoundLib
CsoundLib: Mach-O universal binary with 2 architectures
CsoundLib (for architecture i386): Mach-O dynamically linked shared
library i386
CsoundLib (for architecture ppc): Mach-O dynamically linked shared
library ppc
replace the libsndfile shipped with csound with a link to the universal
one you built yourself:
$ sudo ln -sf /opt/local/lib/libsndfile.1.0.17.dylib
/usr/local/lib/libsndfile.1.0.17.dylib
victor wrote:
> I don't think universal binary linking is possible without the
> framework being UB itself. But I never tried it.
>
> Victor
>
> ----- Original Message -----
> From: "Jonatan Liljedahl"
> To: "Developer discussions" ;
> "AlgoScore"
> Sent: Monday, November 03, 2008 6:07 PM
> Subject: [Cs-dev] universal binary linking to CsoundLib.framework
>
>
>> I'm having some trouble building a universal package of AlgoScore. The
>> thing is, I have every dependency as universals, except csound.
>>
>> What first happened was that the linking of the universal binary failed
>> since there was no code for ppc in csound (I'm building on intel).
>> Setting "-undefined dynamic_lookup" in the linker flags fixed this, and
>> now it builds and I have a universal binary of algoscore.
>>
>> But, running it on a PPC works only until it actually tries to use
>> csound. Then it crashes with something like:
>>
>> dyld: lazy symbol binding failed: Symbol not found: _csoundInitialize
>> Referenced from: /Users/user/AlgoScore/src/build/../../algoscore
>> Expected in: dynamic lookup
>>
>> dyld: Symbol not found: _csoundInitialize
>> Referenced from: /Users/user/AlgoScore/src/build/../../algoscore
>> Expected in: dynamic lookup
>>
>> Trace/BPT trap
>>
>> I thought that it would find the symbols in the installed ppc csound
>> framework even if the universal binary was linked against an intel
>> csound only.
>>
>> I also tried building algoscore without actually linking to csound, on
>> my intel box, with "-undefined dynamic_lookup". It gives the same error,
>> even though csound framework *is* installed and with the same arch type.
>> So it seems that this linker flags does *not* allow the app to find the
>> symbols in an installed framework.
>>
>> Any suggestions?
--
/Jonatan [ http://kymatica.com ]
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |