Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 3 Aug 2016 14:52:14 +0200
From: Matus UHLAR - fantomas <uhlar@...tomas.sk>
To: john-users@...ts.openwall.com
Subject: Re: specify home ($JOHN) at compiletime

>On Thu, Jul 28, 2016 at 05:35:20PM +0200, Matus UHLAR - fantomas wrote:
>> instead of expected ~/.john/john.pot

On 29.07.16 04:39, Solar Designer wrote:
>This pathname is only used by system-wide builds, such as if you
>installed a package of John provided by your distro.
>
>You can make a system-wide build by setting -DJOHN_SYSTEMWIDE=1 in
>CFLAGS at build time, but this is normally only done by package(r)s of
>John, not by end-users, and such packages are expected to provide at
>least the JOHN_SYSTEMWIDE_HOME directory (normally /usr/share/john) as
>well.  If you're merely building John for your own use, don't bother
>with this.

to explain:
I have started with packaged john 1.7.9, then backported 1.8.0 because of
fork option. they both used ~/.john/john.pot

then i went to jumbo because of extra formats, and bleeding-jumbo because of
faster algorithms... 

I want to make them all use the same john.conf and john.pot files...

>If you're in fact trying to create a package of John, then you may use
>this as an example:
>
>http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/john/john.spec?rev=HEAD

I use debian, but yes, I was trying to create packages, so I could easily
distribute them to different systems.

unfortunately files from debian 1.8.0 package don't work with jumbo:

make[2]: *** No rule to make target 'linux-x86-64'.  Stop.
make[2]: Leaving directory '/home/uhlar/src/debian/john/bleeding-jumbo/src'

I have no problem to build it manually, but the process seems to have
problems:

env CFLAGS='-DJOHN_SYSTEMWIDE=1 -DCFG_FULL_NAME="/etc/john/john.conf"' ./configure

1. configure warning:

configure: WARNING: No recognized optimization option present in CFLAGS

maybe I should add "-O2" or "-O3" to CFLAGS? (debian adds -funroll-loops
which makes -O3 from -O2)

2. compile warnings:

params.h:152:0: warning: "CFG_FULL_NAME" redefined
   #define CFG_FULL_NAME   "$JOHN/john.conf"
   ^
<command-line>:0:0: note: this is the location of the previous definition

apparently the #define should to #ifndef CFG_FULL_NAME block
(debian patch adds that).
Otherwise, seems that the latter is being used.

3. after patching, error appears:

gcc -DAC_BUILT -march=native -mavx -DJOHN_AVX -c -DJOHN_SYSTEMWIDE=1 -DCFG_FULL_NAME="/etc/john/john.conf" -I/usr/local/include -DARCH_LITTLE_ENDIAN=1   -Wall -Wdeclaration-after-statement -fomit-frame-pointer --param allow-store-data-races=0 -Wno-deprecated-declarations  -Wunused-but-set-variable -std=gnu89 -Wdate-time -D_POSIX_SOURCE -D_GNU_SOURCE -D_XOPEN_SOURCE=600    -fopenmp  -pthread -DHAVE_HT  -I/usr/local/include -funroll-loops dynamic_utils.c -o dynamic_utils.o
dynamic_utils.c: In function ‘dynamic_DISPLAY_ALL_FORMATS’:
<command-line>:0:15: error: expected expression before ‘/’ token
dynamic_utils.c:75:11: note: in expansion of macro ‘CFG_FULL_NAME’
    cfg_init(CFG_FULL_NAME, 1);
             ^
dynamic_utils.c:75:2: error: too few arguments to function ‘cfg_init’
    cfg_init(CFG_FULL_NAME, 1);
    ^
In file included from dynamic_utils.c:44:0:
config.h:65:13: note: declared here
   extern void cfg_init(char *name, int allow_missing);
               ^
Makefile:1577: recipe for target 'dynamic_utils.o' failed

...I'm out of ideas. Debian uses backslash escaping:

CFLAGS='-DJOHN_SYSTEMWIDE=1 -DCFG_FULL_NAME=\"/etc/john/john.conf\"' ./configure

but that causes configure errors:

configure: creating ./fmt_externs.h
<command-line>:0:16: warning: missing terminating " character

any idea how to continue?

> I agree this is tricky.  To better support packagers, we should probably
> have a configure option in jumbo, now that it's autoconf'ed anyway, to
> enable system-wide build and a "make install".  magnum?  It might remain
> tricky to also support the runtime fallbacks in such builds, though.

yes, that would help much.


-- 
Matus UHLAR - fantomas, uhlar@...tomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
You have the right to remain silent. Anything you say will be misquoted,
then used against you. 

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.