Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121008152522.GA8112@openwall.com>
Date: Mon, 8 Oct 2012 19:25:22 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: Compile ERROR 0711-317 ERROR: Undefined symbol: .flock under AIX-64 bit

Hi Micho,

Thank you for the problem report!

On Mon, Oct 08, 2012 at 03:05:08AM -0700, Micho Dumanov wrote:
> I try to compile john 1.7.9 under AIX-64bit with commands:
> make clean generic
> make clean aix-ppc32
> but it failed with errors: 
> make clean generic -> ERROR 0711-317 ERROR: Undefined symbol: .flock

Apparently, AIX has flock() in libbsd, so you need to add -lbsd to the
LDFLAGS line in the Makefile.  Please try that.

(JtR's "make generic" currently detects the presence of flock() and some
other not-perfectly-portable functions in the header files and tries to
use them if so, but unfortunately it does not know whether any -lXXX
options may need to be added as well.)

> make clean aix-ppc32 -> /usr/bin/sh: cc:  not found.

This means that you don't have IBM's xlC compiler installed.  You may
either use "make generic" with gcc and the LDFLAGS correction as
discussed above, or you may install xlC and use aix-ppc32 then (but this
make target will be suboptimal on your 64-bit system).

Either way, the speed will be somewhat slow as compared to x86 systems.
Ideally, we'd need to add a proper make target for AIX on recent POWER
processors with VMX (IBM's name for what we're more used to be calling
AltiVec).  This is not a lot of work, but it'd take someone willing and
capable of doing it and having access to a proper system.  The gcc
compile farm includes a suitable machine, and maybe we should apply for
access to that, but it runs Linux rather than AIX:

http://gcc.gnu.org/wiki/CompileFarm

name   port disk   CPU           Notes
gcc110      2TB    4x16x3.55 GHz IBM POWER7 / 64 GB RAM / IBM Power 730 Express server / Fedora ppc64

"If you are working on a piece of free software (GCC or any other GPL,
BSD, MIT, ...) and need ssh access to the farm for compilation, debug
and test on various architectures you may apply for a GCC Compile Farm
account." - it sounds like our project is eligible.

Alexander

P.S. Thank you for attaching the build logs.  Unfortunately, it appears
that you were logging stdout only, not stderr.  If you post more build
logs, please include both stdout and stderr (add "2>&1").

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.