Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <101E927F9C2B42DEA13BBC64B21B1DDA@D9VGLK61>
Date: Fri, 26 Aug 2011 07:26:54 -0500
From: "JimF" <jfoug@....net>
To: <john-users@...ts.openwall.com>
Subject: Re: John 1.7.8 fails to compile under freebsd x86-64

First off, can you try J6rc1 (or J5), and use gmake instead of bsdmake? 
That will likely solve the build issue #3 you list.  I will explain the 
how/why this might solve the problems.

The issue, is that jumbo is now designed to build in a 'plugin format' . 
For that to work, we took the 4 spots which always required code changes to 
hook in a format, and which always produced patch collisions, and dealt with 
them in a way that could automatically include the files.  Now, to add a new 
format, you simply build the format, and save it using the name pattern of 
*_fmt_plug.c   In that pattern, the make process 'should' build the proper 
code required to hook in the new format.

First, there was the 'options', where the format string needed to be linked 
into the 'help' page.  That was handled by building the string at runtime, 
vs having to edit the string in options each time.

Second, and third, was within john.  When you added a new format, you have 
to declare the extern format structure, by adding code to john.c and then 
calling the fmt_add_one using a pointer to that structure, again within 
john.c.  Both of these changes ended up with patching collisions.   These 2 
steps are now handled by a pair of rules within the make process, which use 
a sed script to generate a couple of header files that are formatted like 
the 'original' code, and then within john.c, we simply include these 2 
header files at the proper location.

The forth items (which matches up with the problem you list in #3), is that 
Makefile itself had to be modified each time, by adding a .o to the 
$(OBJECTS) rule.  This was done by using some shell and ls make commands. 
This is where the makefile is not working for you.  When this was done, it 
was done with gmake knowledge, and then added on, when it was found that 
solaris make failed.   Well, it looks like bsdmake is also not able to 
handle this part of the makefile process.

I will see if I can replicate the problem, and then correct it, to work with 
solaris make, gmake, bsdmake.  I think I can get access ot a freeBSD system, 
so if I can, I will have a look.

Jim.

From: "groszek" <necro@...icon.pl>


> Hi. There are several problems i met while trying to compile john +
> jumbo on freebsd (8.1) x86-64:
>
> 3. Fails to link assembly code:
> inc.o(.text+0x2b6b): In function `do_incremental_crack':
> : undefined reference to `fmt_NETLM'
> inc.o(.text+0x2b77): In function `do_incremental_crack':
> : undefined reference to `fmt_NETHALFLM'
> ...
> *** Error code 1
>
> And that I have no idea how to fix to go on.
>
> I have tested john-jumbo5 and john-jumbo6 that yield the same result.
>
> My system:
> - cc (GCC) 4.2.1 20070719  [FreeBSD]
> - FreeBSD 8.1-RELEASE-p1
> - bsdmake
> - Intel(R) Xeon(TM) CPU 3.60GHz
>
> Any help is appreciated! 

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.