Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 11 Jan 2012 08:57:51 +0700
From: Alexey Dokuchaev <danfe@....ru>
To: Solar Designer <solar@...nwall.com>
Cc: john-users@...ts.openwall.com
Subject: Re: 1.7.9-jumbo5 fails to build with OMPFLAGS = -fopenmp -msse2

On Wed, Jan 11, 2012 at 05:10:48AM +0400, Solar Designer wrote:
> > Well, in this particular case, the problem happens due to the fact that
> > FreeBSD's header `sys/file.h' uses u_int, which is defined in `sys/types.h'
> > and protected by __BSD_VISIBLE macro.  Defining _POSIX_SOURCE or
> > _XOPEN_SOURCE (to any value) sets __BSD_VISIBLE to zero, and JtR build
> > woes.
> 
> What about this combination? -
> 
> #define _BSD_SOURCE
> #define _XOPEN_SOURCE 500

Does not work, because FreeBSD does not know about this macro because it's
a GNUism.  :-)

> If it doesn't work, then it looks like I'll have to use:
> 
> #ifndef __FreeBSD__
> #define _XOPEN_SOURCE 500
> #endif

Uhm, yuck.  How about adjusting #include <sys/file.h> instead?  On
FreeBSD, for user land, it only contains definition of struct xfile (and
(I don't see that John needs this structure, at least not directly):

$ cpp /usr/include/sys/file.h | tail -17
# 1 "/usr/include/sys/unistd.h" 1 3 4
# 40 "/usr/include/sys/file.h" 2
# 149 "/usr/include/sys/file.h"
struct xfile {
 size_t xf_size;
 pid_t xf_pid;
 uid_t xf_uid;
 int xf_fd;
 void *xf_file;
 short xf_type;
 int xf_count;
 int xf_msgcount;
 off_t xf_offset;
 void *xf_data;
 void *xf_vnode;
 u_int xf_flag;
};

JtR builds fine without it here on Ubuntu as well.  Which systems require
this header?

./danfe

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.