Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <000901ccdc90$2a4f6770$7eee3650$@net>
Date: Thu, 26 Jan 2012 20:08:22 -0500
From: "Robert B. Harris" <rs904c@...scape.net>
To: <john-users@...ts.openwall.com>
Subject: RE: Building a statically linked OMP version of JtR 1.7.9 and JtR 1.7.9 jumbo 5 nearly impossible on Solaris x86

Alex,

I was able to create Static build on JtR on Solaris, because I compiled
Openssl.

I compile my own gcc.  I think it is a complete gcc, but still don't have
libgomp.a.    Perhaps there is a special configuration parameter need to
ensure there is a static libgomp.a library file?  If so, I don't know it and
would have to research to find out.   I used the same configuration
parameters in the new gcc, as the old one used.

I never did an omp build on Solaris before.

I did a find on my Solaris machine and it does not have librt.a anywhere.
It has other developer stuff on it.   I think I'm running into the decision
of Sun/Orale, not to include static libraries, so users can't easily
statically link.

So, I tried my dynamically linked omp version of john on belenix (an
OpenSolaris OS), and it failed because it didn't have libgomp.so anywhere.
The statically linked to OpenSSL version (not omp enabled) of john on
belenix runs just fine.

-Robert B. Harris from VA

-----Original Message-----
From: Solar Designer [mailto:solar@...nwall.com] 
Sent: Thursday, January 26, 2012 7:07 PM
To: john-users@...ts.openwall.com
Subject: Re: [john-users] Building a statically linked OMP version of JtR
1.7.9 and JtR 1.7.9 jumbo 5 nearly impossible on Solaris x86

On Thu, Jan 26, 2012 at 05:13:44PM -0500, Robert B. Harris wrote:
> If someone here can tell me what source code the libgomp.a,

libgomp is part of gcc.  Are you using some third-party package of gcc?
If so, try making your own build (install it e.g. in ~/gcc - that is, inside
your user account's home directory).

> librt.a,

This is part of Solaris itself.  If they don't provide librt.a, then you
won't easily get it, but you also might not need it.  You may make a
half-static build instead: link non-Solaris libs such as libgomp in
statically, but link against Solaris-provided libc and librt dynamically.  I
don't know how portable or not the resulting binaries will be to other
versions of Solaris, but at least they won't require gcc installed.  As to
OpenSSL, you can do it either way I think, unless you specifically brought a
newer version of OpenSSL.

How were you able to make and distribute Solaris builds before, though?
Without OpenMP?  But librt should be needed without OpenMP as well, because
John the Ripper itself links against it when on Solaris - IIRC, it needs it
for sched_yield().

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.