[erlang-questions] R16 + Centos + Crypto + ESL Package
Per Hedeland
per@REDACTED
Wed Jul 30 22:07:08 CEST 2014
Ðанила ФедÑÑин <danilagamma@REDACTED> wrote:
>
>After some digging we found that `CFLAGS="-DOPENSSL_NO_EC=1"` rewrites
>`CFLAGS="-g -O2"`, which was the culprit of slowdown.
Ouch, I knew there was a reason I always try to avoid passing C compiler
flags to OTP's 'configure'.:-)
>So the question is: what is the best way to 'append' CFLAGS option, rather
>then providing '-DOPENSSL_NO_EC=1 -g -O2' assuming that we've appended
>correct default options?
The general, semi-ugly method I use when I need to pass some C compiler
flags is to create a wrapper, a la
$ cat /usr/local/softfloat/bin/gcc
#!/bin/sh
exec /usr/local/gcc-4.2.4/bin/gcc -msoft-float "$@"
$
- and then make sure to have the directory with the wrapper early on in
$PATH. If I'm really ambitious I may name the wrapper gcc-<foo>-<bar>
and pass that as CC (IIRC) to 'configure'.
For this particular case though, if you aren't afraid to touch the
source, you can apply this diff instead:
--- lib/crypto/c_src/crypto.c (revision 69183)
+++ lib/crypto/c_src/crypto.c (revision 69184)
@@ -77,7 +77,8 @@
#if OPENSSL_VERSION_NUMBER >= 0x009080ffL \
&& !defined(OPENSSL_NO_EC) \
&& !defined(OPENSSL_NO_ECDH) \
- && !defined(OPENSSL_NO_ECDSA)
+ && !defined(OPENSSL_NO_ECDSA) \
+ && !defined(OPENSSL_NO_EC2M)
# define HAVE_EC
#endif
I was actually about to report it as a bug fix, but found that R17 - uh,
17? - has much better one (it disables *only* the EC2M stuff which is
all that is missing on "current" CentOS/RHEL at least) - thanks to the
OTP team for that! - "in advance", we're not ready for "17" yet. If you
are, I suggest that you try it.
--Per Hedeland
More information about the erlang-questions
mailing list