Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 02 Jul 2012 14:29:31 -0700
From: Eric Christopher <echristo@...le.com>
To: Solar Designer <solar@...nwall.com>
Cc: john-users@...ts.openwall.com
Subject: Re: John the Ripper 1.7.9-jumbo-6


On Jun 30, 2012, at 3:21 PM, Solar Designer <solar@...nwall.com> wrote:

> Donovan, Eric -
> 
> On Sat, Jun 30, 2012 at 07:46:29PM +0200, newangels newangels wrote:
>> I uncomment the first one on the makefile :
>> 
>> # gcc with OpenMP
>> OMPFLAGS = -fopenmp
>> #OMPFLAGS = -fopenmp -msse2
>> 
>> I run ;
>> 
>> $make macosx-x86-64
>> 
>> I got ;
>> 
>> ********************
>> ld: warning: directory not found for option '-L/usr/local/lib'
>> ld: warning: directory not found for option '-L/usr/local/ssl/lib'
>> ld: warning: option -s is obsolete and being ignored
>> Undefined symbols for architecture x86_64:
>>  "___builtin_object_size", referenced from:
>>      _BF_std_crypt.omp_fn.0 in BF_std.o
>>      _crypt_all.omp_fn.0 in cryptsha256_fmt.o
> ...
>> Allways on MacBook Pro : OS : LION 1.7.4
>> 
>> with :
>> 
>> OpenSSL 0.9.8r 8 Feb 2011
>> gcc version : 4.2.1
> 
> Apparently, you may workaround this by either adding -D_FORTIFY_SOURCE=0
> to OMPFLAGS or compiling with gcc rather than with clang/llvm (I think
> on recent OS X, its "gcc" is actually clang).  One of these changes
> should be enough (you shouldn't need to do both).
> 

You can work around this by compiling with gcc or by turning off the source
fortification, however, gcc in recent xcode releases is llvm-gcc (not clang) so
you'd need to put a version of gcc that you've built into your path to deal with
it from that angle.

> What's your Xcode version?
> 
> Are you able to build 1.7.9-jumbo-5 (not -6) with OpenMP support on
> this same system and in this same way (without a workaround) just fine?
> If so, that's puzzling.
> 
> These may be relevant:
> http://comments.gmane.org/gmane.comp.compilers.llvm.devel/37989
> http://llvm.org/bugs/show_bug.cgi?id=4380
> 
> Eric - I thought you could want to comment on this, such as on whether
> this is in fact an instance of the same problem as mentioned at the URLs
> above or not and whether it is normal/expected that we're running into
> it on OS X 10.7.4 (you fixed the LLVM bug in 2010?)

I thought I'd fixed them all at that point - this is an odd one that only seems
to happen with -fopenmp + source fortification.  IIRC the openmp passes are
changing the name of the builtin and the lowering code in the llvm-gcc
front-end isn't noticing what the builtin is - frustrating.

llvm-gcc has been deprecated by the llvm project though and so the bug
is unlikely to get fixed. clang doesn't support openmp, but should suffice
for compiling john-the-ripper in general. Using dragonegg may work if you want
openmp and an llvm backend, but unfortunately I'm not able to test that
scenario out for you.

-eric

Powered by blists - more mailing lists

Your e-mail address:

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