Mac OS X crypto and ssl patch and workarounds

Sean Hinde Sean.Hinde@REDACTED
Tue Nov 12 22:39:59 CET 2002


OS X Users,

A little farther down the road to make OS X fully Erlang functional..

CRYPTO
------

With some help from the apple unix-porting mailing list crypto now works.
Attached is a patch to crypto_drv.c which gets around a namespace problem
caused by the odd linking method (it does this by forcing a search of the
global namespace for the _MD5 etc functions - this is contrary to normal
driver practice and could lead to conflicts if those symbols appeared
elsewhere in the system). It also sorts out underscore naming issues.

The Makefile will also need the following two changes (I have it working but
don't have a patch for Makefile.in):

* The last step in making an OS X shared lib must use gcc rather than ld -
this is required to ensure that _dyld_binding_stub is included. It is needed
for both .so targets

* The UNDEFS must all be prepended with underscore (as the apple compiler
has already put underscores into libcrypto.dylib) i.e.

ELIBCRYPTO_UNDEFS = \
	-u _CRYPTO_set_mem_functions \
	-u _MD5
etc

With these changes (the patch and the Makefile changes) all seems OK.

SSL
---

ssl has some problems compiling with the default makefile (The one for the
final stage after make install which links ssl_base.o and esock_ssleay.o to
make ssl_esock). I've got it to compile and run successfully with the simple
line:

gcc -o ssl_esock ssl_base.o esock_ssleay.o -lssl -lcrypto

(the -Wl,-R stuff doesn't work under OS X)

Enjoy!

Sean



NOTICE AND DISCLAIMER:
This email (including attachments) is confidential.  If you have received
this email in error please notify the sender immediately and delete this
email from your system without copying or disseminating it or placing any
reliance upon its contents.  We cannot accept liability for any breaches of
confidence arising through use of email.  Any opinions expressed in this
email (including attachments) are those of the author and do not necessarily
reflect our opinions.  We will not accept responsibility for any commitments
made by our employees outside the scope of our business.  We do not warrant
the accuracy or completeness of such information.

  

-------------- next part --------------
A non-text attachment was scrubbed...
Name: cryptoosx.patch
Type: application/octet-stream
Size: 1567 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20021112/af584b3c/attachment.obj>


More information about the erlang-questions mailing list