Thread (8 messages) flat view 8 messages, 5 authors, 2016-06-15

Re: Deprecation warnings under XCode

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:03:10

Possibly related (same subject, not in this thread)

On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano [off-list ref] wrote:
Torsten Bögershausen [off-list ref] writes:
quoted
On 12/01/2014 04:02 AM, Michael Blume wrote:
quoted
I have no idea whether this should concern anyone, but my mac build of git shows

     CC imap-send.o
imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first
deprecated in OS X 10.7 [-Wdeprecated-declarations]
         fprintf(stderr, "%s: %s\n", func,
ERR_error_string(ERR_get_error(), NULL));
                                           ^
Isn't the warning a warning ;-)
I don't see this warnings because my openssl comes from
/opt/local/include (Mac ports)
Does anybody know which new functions exist in Mac OS X versions >= 10.7  ?
I have not been able to find suitable Mac OS X replacements (nor could
I when resubmitting David's series [1] to use CommonCrypto).
I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support
added in 4dcd7732 (Makefile: add support for Apple CommonCrypto
facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC
deprecation warnings on Mac OS X, 2013-05-19)?  Specifically, the
log message for 4dcd7732 begins like so:

    Makefile: add support for Apple CommonCrypto facility

    As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
    OpenSSL ABI instability, thus leading to build warnings.  As a
    replacement, Apple encourages developers to migrate to its own (stable)
    CommonCrypto facility.

In the Makefile we seem to have this:

    # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X
    # and do not want to use Apple's CommonCrypto library.  This allows you
    # to provide your own OpenSSL library, for example from MacPorts.

which makes it sound like using APPLE_COMMON_CRYPTO is the default
for Mac.  Perhaps those who do want to use CommonCrypto to avoid
warnings should not define that macro?
It's been a long time [1] since I looked at it, but I believe that
David's CommonCrypto patch series only replaced OpenSSL calls for
which Apple had provided CommonCrypto replacements. If my memory is
correct, there were still plenty of OpenSSL deprecations warnings
remaining after his patches (the warnings which started this thread)
even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches
reduced the number of warnings but did not fully eliminate them.

Checking again, it still seems to be the case that Apple neglects to
provide CommonCrypto replacements for these OpenSSL functions which
Apple itself deprecated.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/224833
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help