<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 09/25/2014 06:08 PM, Nicolas
      Charpentier wrote:<br>
    </div>
    <blockquote
      cite="mid:9c5b8921bff00cc5a5e3162acbf40872.squirrel@www.geekisp.com"
      type="cite">
      <pre wrap="">Hi Ali,

</pre>
      <blockquote type="cite">
        <pre wrap="">Hi all,

It looks like the crypto application in Erlang/OTP 17.3 fails on OSX Lion
as described here:
<a class="moz-txt-link-freetext" href="https://trac.macports.org/ticket/45114">https://trac.macports.org/ticket/45114</a>
<a class="moz-txt-link-freetext" href="https://github.com/Homebrew/homebrew/pull/32363">https://github.com/Homebrew/homebrew/pull/32363</a>

Any input on why this would happen?
</pre>
      </blockquote>
      <pre wrap="">
It might be a problem related to the version of openssl used during the
link of crypto.so.

I can reproduce it on Maverick.
crypto refuses to start with libcrypto.0.9.8 is used, but start correctly
with libcrypto.1.0.0

Either it's a compilation problem (mismatch of the header used for the
compilation and the lib used to link) or a dependency on openssl 1.0.0 has
been introduced in 17.3

You can see the lib dynamique used by crypto.so with
dyldinfo -dylibs $ROOT/lib/crypto-3.4/priv/lib/crypto.so

When it doesn't work, it depends on /usr/lib/libcrypto.0.9.8.dylib

You can change this dependency with ( the example assumes macport to be
installed)
install_name_tool -change /usr/lib/libcrypto.0.9.8.dylib
/opt/local/lib/libcrypto.1.0.0.dylib
$ROOT/lib/crypto-3.4/priv/lib/crypto.so

Hope it helps

/Nicolas


</pre>
    </blockquote>
    <font size="-1"></font><br>
    <font size="-1"><br>
      libcrypto.0.9.* and libcrypto.1.* are not compatible. You can not
      compile agains one and link against the other. If it seems to
      work, you are just (un)lucky.</font><br>
    <font size="-1">
    </font><br>
    <font size="-1">In 17.3 the following ticket was fixed to refuse
      load of crypto with wrong version of libcrypto</font><br>
    <font size="-1">and thereby avoid strange memory corruption leading
      to VM crash or other even worse effects.</font><br>
    <br>
    <font size="-1">   OTP-12146  Make crypto verify major version
      number of OpenSSL header</font><br>
    <font size="-1">          files and runtime library. Loading of
      crypto will fail if</font><br>
    <font size="-1">          there is a version mismatch.</font><br>
    <br>
    <br>
    <br>
    /Sverker, Erlang/OTP<br>
    <br>
    <br>
    <br>
  </body>
</html>