This is multi-arch. if we just use the bare file name,

OPENSSL=: 'libssl.so.1.0.0'

it will work on 32-bit and 64-bit, and also
works for 32-bit process on 64-bit host.

should also works on raspi even the prefix would be
/lib/arm-linux-gnueabihf/

all J8 addons use this scheme for shared objects.

Сб, 06 сен 2014, Raul Miller написал(а):
> This works on that machine:
> 
>    OPENSSL=: '/lib/x86_64-linux-gnu/libssl.so.1.0.0'
>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
> *c')  ssl  NB. SHA256 i *c l *c' ssl
>    s256=: 3 : 0
>       sslSha256 (y);(#y);md=. 32#' '
>       md
>    )
>    hexhash =: ( [: ,@:hfd a.i.])@:
> 
>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
> d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
> 
> However, if I try
>    OPENSSL=:'libssl.so'
>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
> *c')  ssl  NB. SHA256 i *c l *c' ssl
>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
> |domain error: cd
> 
> Similarly:
>    OPENSSL=:'/usr/lib/libssl.so'
>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
> *c')  ssl  NB. SHA256 i *c l *c' ssl
>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
> |domain error: cd
> 
> Speaking more generally, the motivation behind having the very
> specific /lib/x86_64-linux-gnu/libssl.so.1.0.0 is so that the 64 bit
> code and the 32 bit code can coexist, and the reason for not
> supporting the more generic /usr/lib/libssl.so is so that there's a
> clean separation between these two mechanisms. It's a bit ugly, but so
> is the underlying cpu architecture.
> 
> Thanks,
> 
> -- 
> Raul
> 
> 
> On Sat, Sep 6, 2014 at 12:49 PM, 'Pascal Jasmin' via Programming
> <programm...@jsoftware.com> wrote:
> > sorry about domain error, fixed on wiki, changing line to:
> >
> > OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i. <UNAME_z_) 
> > pick 'libeay32.dll '; (2 $ <'libssl.so '),  (2 $ <'libssl.dylib ')
> >
> > basically, OPENSSL should be set to: (based on your distribution)
> >
> >    OPENSSL
> > /lib/x86_64-linux-gnu/libssl.so.1.0.0
> >
> > my understanding of linux is that libssl.so will find the latest version.
> > No idea how standard '/lib/x86_64-linux-gnu/' is, but that is what you want 
> > assigned in the sslp =: line.  Perhaps you want to also add an IF64 line 
> > for your other system
> >
> >
> > ----- Original Message -----
> > From: Raul Miller <rauldmil...@gmail.com>
> > To: Programming forum <programm...@jsoftware.com>
> > Cc:
> > Sent: Saturday, September 6, 2014 12:12 PM
> > Subject: Re: [Jprogramming] md5 is not md5
> >
> >    IFIOS
> > 0
> >    UNAME_z_
> > Linux
> >    sslp =: IFWIN pick '/usr/lib/';'D:\OpenSSL-Win64\bin\'
> >    sslp
> > /usr/lib/
> >
> > Looking closer, I'm thinking you probably want
> > /lib/x86_64-linux-gnu/libssl.so.1.0.0 rather than /usr/lib/libssl.so
> > (which does not exist).
> >
> > That said, the domain error is because you are trying to compute this 
> > result:
> >
> >    '/usr/lib/',2$<'libssl.so'
> >
> > Thanks,
> >
> > --
> > Raul
> >
> > On Sat, Sep 6, 2014 at 12:02 PM, 'Pascal Jasmin' via Programming
> > <programm...@jsoftware.com> wrote:
> >> what is sslp defined as?
> >>
> >> Is it possible IFIOS is not defined?  or less likely UNAME_z_?
> >>
> >>
> >> ----- Original Message -----
> >> From: Raul Miller <rauldmil...@gmail.com>
> >> To: Programming forum <programm...@jsoftware.com>
> >> Cc:
> >> Sent: Saturday, September 6, 2014 11:57 AM
> >> Subject: Re: [Jprogramming] md5 is not md5
> >>
> >> Here's what happens if I use that code and only extract hexhash from
> >> the top (instead of simply incorporating both blocks of code):
> >>
> >>    s256 hexhash 'The quick brown fox jumps over the lazy dog'
> >> |value error: sslSha256
> >> |       sslSha256(y);(#y);md=.32#' '
> >>
> >> So, ok, what's wrong with sslSha256?
> >>
> >>    sslSha256
> >> |value error: sslSha256
> >>    sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x
> >> *c')  ssl  NB. SHA256 i *c l *c' ssl
> >> |value error: OPENSSL
> >> |   (    OPENSSL,m)&cd
> >>
> >> So, ok, what's wrong with OPENSSL?
> >>
> >>    OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i.
> >> <UNAME_z_) pick 'libeay32.dll '; (2 $ <'libssl.so ');  (2 $
> >> <'libssl.dylib ')
> >> |domain error
> >> |   OPENSSL=:sslp    ,(IFIOS+(;:'Win Linux Android
> >> Darwin')i.<UNAME_z_)pick'libeay32.dll ';(2$<'libssl.so
> >> ');(2$<'libssl.dylib ')
> >>
> >> In other words, I was just copying and pasting your code into
> >> jconsole, rather than defining a script and attempting to debug it.
> >>
> >> I recall doing that earlier and finding an issue with libssl which I
> >> was not prepared to deal with.
> >>
> >> Thanks,
> >>
> >> --
> >> Raul
> >>
> >> On Sat, Sep 6, 2014 at 11:52 AM, 'Pascal Jasmin' via Programming
> >> <programm...@jsoftware.com> wrote:
> >>> You did not go far enough down the page :P  CryptAcquireContext is only 
> >>> used in the MSFT binding not openssl binding
> >>>
> >>>
> >>> ----- Original Message -----
> >>> From: Raul Miller <rauldmil...@gmail.com>
> >>> To: Programming forum <programm...@jsoftware.com>
> >>> Cc:
> >>> Sent: Saturday, September 6, 2014 11:49 AM
> >>> Subject: Re: [Jprogramming] md5 is not md5
> >>>
> >>> I used the code from the bottom of the page.
> >>>
> >>> Quite possibly I should have used it differently, but that's a different 
> >>> issue.
> >>>
> >>> Thanks,
> >>>
> >>> --
> >>> Raul
> >>>
> >>>
> >>> On Sat, Sep 6, 2014 at 11:46 AM, 'Pascal Jasmin' via Programming
> >>> <programm...@jsoftware.com> wrote:
> >>>> You are using the wrong code.  That is indeed windows specific bindings. 
> >>>>  The openssl bindings are at the bottom of the page.  Though you may 
> >>>> want to pick up hexhash definition from the top section.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> ----- Original Message -----
> >>>> From: Raul Miller <rauldmil...@gmail.com>
> >>>> To: Programming forum <programm...@jsoftware.com>
> >>>> Cc:
> >>>> Sent: Saturday, September 6, 2014 11:41 AM
> >>>> Subject: Re: [Jprogramming] md5 is not md5
> >>>>
> >>>> I tried your code at
> >>>> http://www.jsoftware.com/jwiki/PascalJasmin/SHA%201%2C%202%20and%20MD5%20for%20windows
> >>>>
> >>>>    sha256 hexhash 'The quick brown fox jumps over the lazy dog'
> >>>> |domain error: cd
> >>>> |       
> >>>> CryptAcquireContext(aProv=.,_1);(<0);(<0);PROV_RSA_AES;CRYPT_VERIFYCONTEXT
> >>>>
> >>>> Meanwhile, what I have works for me.
> >>>>
> >>>> Specifically, I built libmd5.so using
> >>>> https://github.com/rdm/libmd5.so, copied it into the directory
> >>>> /home/ubuntu/bin/ and then used, from in J:
> >>>>
> >>>> md5raw=: '/home/ubuntu/bin/libmd5-64.so MD5String > l *c l'&(15!:0)@(; #)
> >>>> md5=: 3 :',tolower hfd a.i. 15!:1 (md5raw y),0 16 2'
> >>>>
> >>>> Now... since I need both 32 bit J (to parse xml using xml/sax -
> >>>> apparently that only works on 32 bit j602) and 64 bit J (to deal with
> >>>> more data than will fit in a 32 bit process), I'm having to have two
> >>>> copies of libmd5.so - one for each instance of J. But I can live with
> >>>> that.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> --
> >>>> Raul
> >>>>
> >>>>
> >>>> On Sat, Sep 6, 2014 at 11:23 AM, 'Pascal Jasmin' via Programming
> >>>> <programm...@jsoftware.com> wrote:
> >>>>> the code was tested at one point on mac.  There is an attempt in the 
> >>>>> definitions (at bottom of page only) to link on linux.  assumes 
> >>>>> /usr/lib/libssl.so .  Should work? or few changes needed to work on 
> >>>>> linux?
> >>>>>
> >>>>>
> >>>>> ----- Original Message -----
> >>>>> From: Raul Miller <rauldmil...@gmail.com>
> >>>>> To: Programming forum <programm...@jsoftware.com>
> >>>>> Cc:
> >>>>> Sent: Saturday, September 6, 2014 11:11 AM
> >>>>> Subject: Re: [Jprogramming] md5 is not md5
> >>>>>
> >>>>> I can't use your implementation, since I'm not running this on windows.
> >>>>>
> >>>>> That said, I've got a fix for my code.
> >>>>>
> >>>>> That said, I do not have a fix for the portable code in 
> >>>>> convert/misc/md5.
> >>>>>
> >>>>> The first thing which would need to be fixed there are the uses of 32
> >>>>> b. and 33 b. (in the definitions of sh_pcrypt_ and rot_pcrypt_) but
> >>>>> oddly enough that does not seem to be  sufficient. It's not obvious to
> >>>>> me what else needs to be fixed, and right now I am feeling too
> >>>>> impatient to isolate the problem.
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> --
> >>>>> Raul
> >>>>>
> >>>>>
> >>>>> On Sat, Sep 6, 2014 at 10:55 AM, 'Pascal Jasmin' via Programming
> >>>>> <programm...@jsoftware.com> wrote:
> >>>>>> It was written and tested for 32 bits.  J7-64 also gives the wrong 
> >>>>>> answer.
> >>>>>>
> >>>>>> At the bottom of this page there are openssl bindings to similar 
> >>>>>> hashes.  
> >>>>>> http://www.jsoftware.com/jwiki/PascalJasmin/SHA%201%2C%202%20and%20MD5%20for%20windows
> >>>>>>
> >>>>>> all the bound hashes are the same speed when called, but I added an 
> >>>>>> md5 implementation this morning.  IIRC it is over 1000 times faster 
> >>>>>> than the J code.
> >>>>>>
> >>>>>> I possibly made the unpopular design decision to split out the 
> >>>>>> formatting of the hash and keep it raw binary.  There is a 5x 
> >>>>>> performance benefit for doing so.
> >>>>>>
> >>>>>> the fastest conversion (but takes more space than binary) is
> >>>>>>
> >>>>>>   listhash =: (a. i. ])@:
> >>>>>>
> >>>>>> or:
> >>>>>> a. i.  md5 'example'
> >>>>>>
> >>>>>> If you are having any problems with the library, the source is likely 
> >>>>>> in the first 3 lines.  I didn't test with 32 bits, but any problems 
> >>>>>> there are likely solveable.
> >>>>>>
> >>>>>>
> >>>>>> ----- Original Message -----
> >>>>>> From: Raul Miller <rauldmil...@gmail.com>
> >>>>>> To: Programming forum <programm...@jsoftware.com>
> >>>>>> Cc:
> >>>>>> Sent: Saturday, September 6, 2014 9:10 AM
> >>>>>> Subject: [Jprogramming] md5 is not md5
> >>>>>>
> >>>>>> j602:
> >>>>>>
> >>>>>>    load'convert/misc/md5'
> >>>>>>    md5 'example'
> >>>>>> 1a79a4d60de6718e8e5b326e338ae533
> >>>>>>
> >>>>>> j64-802:
> >>>>>>
> >>>>>>    load'convert/misc/md5'
> >>>>>>    md5 'example'
> >>>>>> 64a9df64d8defee229d86709a425ea7a
> >>>>>>
> >>>>>> This is a problem...
> >>>>>>
> >>>>>> ==
> >>>>>> Raul
> >>>>>> ----------------------------------------------------------------------
> >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >>
> >>
> >>>>
> >>>>
> >>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>
> >>>>>> ----------------------------------------------------------------------
> >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >
> >
> >
> >>>
> >>>
> >>>
> >>>>> ----------------------------------------------------------------------
> >>>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>>>
> >>>>> ----------------------------------------------------------------------
> >>>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>> ----------------------------------------------------------------------
> >>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>>
> >>>> ----------------------------------------------------------------------
> >>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to