Hi all,<div><br></div><div>I released the &quot;intel-aes&quot; package which has support for AESNI (and as a fallback uses the same C code as AES, both with Thomas&#39;s Crypto.Classes.BlockCipher interface).  </div><div>

<br></div><div>But it has a long way to go to be portable.  I&#39;m afraid of exactly these sorts of compiler problems.  For arguments sake, what do you think of prebuilding .so files for all of the common platforms?  (Especially in the AESNI case which involves a separate makefile, assembly files, and yasm.)</div>

<div><br></div><div>I&#39;ve used this strategy in intel-aes-0.1.2.  A stripped linux .so for this purpose is 26K which doesn&#39;t seem so bad.  Of course these compile/portability problems still need to be solved at least once to build the libraries ;-).</div>

<div><br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8">Anyway this is not really my area so I&#39;m not trying to bump anyones package out of the way, I just wanted to get something out there with AESNI support (before I heard Vincent was interested).</div>

<div><br></div><div>Cheers,</div><div>  -Ryan</div><div><br></div><div><br></div><div><br></div><div><br><br><div class="gmail_quote">On Sun, Feb 6, 2011 at 12:37 AM, Michael Snoyman <span dir="ltr">&lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">OK, now I&#39;m sure I tried it before: I tried switching Haskellers over<br>
to AES with that code change you mention, and it results in runtime<br>
crashes (I assume segfaults, I didn&#39;t really look into it too much).<br>
So Svein, please disregard my requested code change, it&#39;s a bad idea.<br>
<font color="#888888"><br>
Michael<br>
</font><div><div></div><div class="h5"><br>
On Fri, Feb 4, 2011 at 8:16 AM, Michael Snoyman &lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt; wrote:<br>
&gt; Wow, I thought I&#39;d tried that before, I guess not. Yes, that compiles,<br>
&gt; and an initial test seems that it does not break at runtime either.<br>
&gt; I&#39;ll email the author and see if he can make that change.<br>
&gt;<br>
&gt; Michael<br>
&gt;<br>
&gt; On Fri, Feb 4, 2011 at 8:11 AM, Daniel Peebles &lt;<a href="mailto:pumpkingod@gmail.com">pumpkingod@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Knowing nothing about the package or its code, it looks like a typo to me.<br>
&gt;&gt; The stdint.h naming of types would have it be uint64_t, not uint_64t. Could<br>
&gt;&gt; that be it?<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Feb 4, 2011 at 6:00 AM, Michael Snoyman &lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi everyone,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Does anyone else have trouble installing the AES package on a 32-bit<br>
&gt;&gt;&gt; system? My system at home installs it just fine, but my VPS chokes<br>
&gt;&gt;&gt; with the following error messages (plus a bunch of warnings):<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cbits/ctr_inc.c:11:0:<br>
&gt;&gt;&gt;     error: &#39;uint_64t&#39; undeclared (first use in this function)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cbits/ctr_inc.c:11:0:<br>
&gt;&gt;&gt;     error: (Each undeclared identifier is reported only once<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cbits/ctr_inc.c:11:0:  error: for each function it appears in.)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cbits/ctr_inc.c:11:0:<br>
&gt;&gt;&gt;     error: &#39;ctr&#39; undeclared (first use in this function)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cbits/ctr_inc.c:11:0:  error: expected expression before &#39;)&#39; token<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It&#39;s actually for this very reason that I&#39;m still maintaining the<br>
&gt;&gt;&gt; OpenSSL backend for http-enumerator: I think the tls package is stable<br>
&gt;&gt;&gt; enough now to be used in production environments (kudos to Vincent by<br>
&gt;&gt;&gt; the way). However, I can&#39;t use it in production if I can&#39;t build one<br>
&gt;&gt;&gt; of its dependencies. This bug is also preventing me from adding some<br>
&gt;&gt;&gt; nice features to http-enumerator, such as checking validity of SSL<br>
&gt;&gt;&gt; certificates.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Anyone have any thoughts?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Michael<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Haskell-Cafe mailing list<br>
&gt;&gt;&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt;&gt;&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>