Re: SQLite Question
Re: SQLite Question
- Subject: Re: SQLite Question
- From: Ben <email@hidden>
- Date: Sat, 29 Mar 2014 21:39:10 +0000
On 29 Mar 2014, at 20:12, Uli Kusterer <email@hidden> wrote:
> On 29 Mar 2014, at 00:55, Kyle Sluder <email@hidden> wrote:
>>>>> The same goes for all the various projects that are part of an operating
>>>>> system: The versions included with a particular operating system can be
>>>>> tuned for that operating system and the hardware it runs on. That doesn’t
>>>>> mean they will be, but it’s something that can be done, and you should
>>>>> consider that possibility when deciding whether to include your own
>>>>> version of a library.
>>>>
>>>> Apple has frequently advised people _not_ to link directly against
>>>> system libraries included on the OS, such as libssl and libxml2, as
>>>> these are included with the operating system in support of other
>>>> technologies such as Security.framework and NSXMLDocument.
>>>
>>> Forgive me if my memory is faulty here, but isn't Chris Hanson an Apple
>>> employee himself?
>>
>> Yes, Chris is an Apple employee, but he is not every Apple employee. I'm
>> pointing out that we've received conflicting guidance, and our apps have
>> been broken by upgrades to system-bundled third-party libraries in the
>> past.
>
> There’s actually a very sensible answer to this. Apple want system API to be stable, just like we do. They have included various open source and/or third-party libraries in the OS. So, in general, if the OS comes with a library like that, you should use it. It saves disk space, it ensures you get the newest security updates and you link against code that is optimized for whatever hardware you’re currently running on.
>
> However, there have been cases where the upstream developers of such third-party libraries did not share Apple’s commitment to binary stability, or whatever Apple developer added the library wasn’t aware they intended their library to be a source-only distribution and were thus not aware someone relied on it remaining binary stable. The prime example of this is libssl. Therefore, Apple have had to deprecate some libraries and recommended a replacement for them.
>
> So, both are correct: Chris for the general case, and particularly the OP’s question of SQLite, Kyle for the cases he lists.
In the case of SQLite, unless you have special needs, use the system one.
It's slightly different to the version you can download from sqlite.org. I forget the exact options, but they've switched some flag or another to handle write-ahead log journal files differently. It's nothing that causes conflicts but is definitely slightly different.
Unfortunately the SQLite source is missing from http://opensource.apple.com, so it's hard to check if anything else has been modified.
- Ben
_______________________________________________
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