Re: libcrypto linking problem in Leopard
Re: libcrypto linking problem in Leopard
- Subject: Re: libcrypto linking problem in Leopard
- From: "Gary L. Wade" <email@hidden>
- Date: Mon, 06 Jan 2014 06:44:01 -0800
There's lots of hurt trying to support that old. One thing that changed from 10.5 to 10.6 is some linking options so the dylibs are different. I tried to do the same thing you're trying for the sake of "cross-platform compatibility," and I found it more resolvable to just factor out those calls that were in those libraries and call the OS X-explicit frameworks. If you want greater context, there are lots of other discussions on SO and elsewhere.
--
Gary L. Wade (Sent from my iPhone)
http://www.garywade.com/
> On Jan 6, 2014, at 5:41 AM, Appa Rao Mulpuri <email@hidden> wrote:
>
> Hi Dave,
>
> Able to change the path in the Mach O with the Install_name_tool, but
> while launching the app, it is checking the compatibility version and
> failing to launch. Here is the Otool output:
>
> /usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.8, current
> version 47.2.0)
>
> Regards,
>
> Apparao Mulpuri
> Senior Systems Analyst, Mac Poker
>
>
>
> On 1/4/14 1:52 AM, "St John, David R" <email@hidden> wrote:
>
>>>
>>> On Jan 3, 2014, at 2:37 AM, Jean-Daniel Dupas <email@hidden>
>>> wrote:
>>>
>>>> The simplest advice is don't use libcrypto.
>>>>
>>>> If you just need simple functionality, you may have a look at the
>>>> CommonCrypto API which is partially available on 10.5 ( I think Digest
>>>> and Cryptors where available at this time).
>>>>
>>>> If you need something more complex, you should use the Security
>>>> framework, unfortunately the whole 10.5 API (CDSA) has been deprecated
>>>> in favor of a cleaner but incompatible API.
>>>>
>>>> So you will have to write the code twice if you want to support 10.5
>>>> and be futur proof.
>>>
>>> Unfortunately, if you're using asymmetric encryption, you have to use the
>>> deprecated CDSA APIs, since (AFAIK) the newer APIs don't support it.
>>>
>>> Charles
>>
>> I had the same problem with libnetsnmp and solved it with a Run Script
>> build phase. The linker puts the versioned dylib in the executable even
>> though you include the non-versioned dylib, this switches the versioned
>> back to non-versioned.
>>
>> install_name_tool -change ³<versioned dylib>² ³<non-versioned dylib>"
>> "$TARGET_BUILD_DIR/$EXECUTABLE_PATH²
>>
>> In my case: install_name_tool -change "/usr/lib/libnetsnmp.15.dylib"
>> "/usr/lib/libnetsnmp.dylib" "$TARGET_BUILD_DIR/$EXECUTABLE_PATH"
>>
>> Hope this helps,
>>
>> Dave
>>
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>> om
>>
>> This email sent to email@hidden
>
> This email and any attachments are confidential, and may be legally privileged and protected by copyright. If you are not the intended recipient dissemination or copying of this email is prohibited. If you have received this in error, please notify the sender by replying by email and then delete the email completely from your system. Any views or opinions are solely those of the sender. This communication is not intended to form a binding contract unless expressly indicated to the contrary and properly authorised. Any actions taken on the basis of this email are at the recipient's own risk.
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden