Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] universal binary linking to CsoundLib.framework

Date2008-11-03 23:34
Fromvictor
SubjectRe: [Cs-dev] universal binary linking to CsoundLib.framework
you might also need to build all the other dependencies as
UB.

----- Original Message ----- 
From: "Jonatan Liljedahl" 
To: "Developer discussions" 
Sent: Monday, November 03, 2008 9:22 PM
Subject: Re: [Cs-dev] universal binary linking to CsoundLib.framework


>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
> https://lists.sourceforge.net/lists/listinfo/csound-devel 


-------------------------------------------------------------------------
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

Date2008-11-04 00:13
FromJonatan Liljedahl
SubjectRe: [Cs-dev] universal binary linking to CsoundLib.framework
Yes, as I said in the original post, I have all dependencies except
csound as universals.

victor wrote:
> you might also need to build all the other dependencies as
> UB.
> 
> ----- Original Message ----- 
> From: "Jonatan Liljedahl" 
> To: "Developer discussions" 
> Sent: Monday, November 03, 2008 9:22 PM
> Subject: Re: [Cs-dev] universal binary linking to CsoundLib.framework
> 
> 
>> 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 ]


-- 
/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