Opened 10 years ago

Closed 10 years ago

#2377 closed Bug (fixed)

Keep Leopard compatibility while using the 10.6 SDK

Reported by: titer Owned by: livings124
Priority: High Milestone:
Component: Mac Client Version: 1.74+
Severity: Normal Keywords:
Cc:

Description

Building against the 10.6 SDK causes us to link against newer versions of openssl and curl, and the resulting binary cannot run on 10.5: libcrypto was upgraded from 0.9.7 to 0.9.8, libcurl from 7.16.3 to 7.19.4

Snow Leopard includes libs for backwards compatibility for apps built against the 10.5 SDK, but since the 10.6 SDK only include the headers for the new versions, it does not work the other way.

Possible solutions:

a) Copy headers and libs from the 10.5 SDK into our repo and build/link against it. Advantages: T will then use the system libs, so the package stays the same size. Disadvantages: adds a couple MBs to the repo.

b) Include curl and openssl sources in our repo and build/link them statically. Advantages: lets us use newer versions of the libs. Disadvantages: adds some more MBs to the repo, longer build times, bigger package.

c) Work out some wrapper lib built against the 10.5 SDK that redirects curl/openssl calls to the old versions of the libs. Advantages: same as a), using less space in the repo. Disadvantages: more complex to implement, very slightly slower calls to curl/openssl since it'd go through the wrapper.

Another thread discussing the issue: http://www.cocoabuilder.com/archive/message/cocoa/2009/8/28/243749

Attachments (2)

leo_libs.patch (14.8 KB) - added by titer 10 years ago.
leo_libs2.patch (17.4 KB) - added by titer 10 years ago.
the first patch didn't actually use the right headers…

Download all attachments as: .zip

Change History (11)

Changed 10 years ago by titer

comment:1 Changed 10 years ago by titer

Attached patch for the Xcode project for solution b) For convenience, I uploaded a zip of the 10.5 headers and libs: http://eric.lapsus.org/t/leo_libs.zip (just extract it in third-party/)

comment:2 Changed 10 years ago by charles

  • Component changed from Transmission to Mac Client
  • Owner set to livings124
  • Priority changed from Normal to High

comment:3 Changed 10 years ago by livings124

  • Milestone 1.75 deleted

Changed 10 years ago by titer

the first patch didn't actually use the right headers...

comment:4 Changed 10 years ago by livings124

For reference, the patches above are for option a, not b.

comment:5 Changed 10 years ago by livings124

comment:6 Changed 10 years ago by livings124

  • Resolution set to fixed
  • Status changed from new to closed

comment:7 Changed 10 years ago by charles

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:8 Changed 10 years ago by livings124

Of interest to this is #1844

comment:9 Changed 10 years ago by livings124

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.