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 05:10:48 +0400
From: Solar Designer <solar@...nwall.com>
To: Alexey Dokuchaev <danfe@....ru>
Cc: john-users@...ts.openwall.com
Subject: Re: 1.7.9-jumbo5 fails to build with OMPFLAGS = -fopenmp -msse2

On Mon, Jan 09, 2012 at 09:40:10PM +0700, Alexey Dokuchaev wrote:
> On Mon, Jan 09, 2012 at 12:10:25PM +0400, Solar Designer wrote:
> > On Mon, Jan 09, 2012 at 02:26:46PM +0700, Alexey Dokuchaev wrote:
> > > In file included from recovery.c:21:
> > > /usr/include/sys/file.h:161: error: expected specifier-qualifier-list
> > > before 'u_int'
> > 
> > Looks like a bug in FreeBSD to me.  Maybe you can report it to the right
> > people.
> 
> 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.
> 
> > Meanwhile, can you try replacing "#define _XOPEN_SOURCE 500" with
> > "#define _POSIX_SOURCE" - does this help?  That is, instead of removing
> > the line (which helps for FreeBSD, but breaks build on some other
> > systems), try replacing it with "#define _POSIX_SOURCE".  Another thing
> > to try is _XOPEN_SOURCE 600 instead of 500.
> 
> None of these tricks helps.  Disabling inclusion of <sys/file.h> allows
> recovery.c to compile cleanly with original _XOPEN_SOURCE 500 though.

Thank you for trying these.  What about this combination? -

#define _BSD_SOURCE
#define _XOPEN_SOURCE 500

If it doesn't work, then it looks like I'll have to use:

#ifndef __FreeBSD__
#define _XOPEN_SOURCE 500
#endif

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.