[OpenAFS] building openafs on ppc64le architecture on Linux

Troy Benjegerdes hozer@hozed.org
Sat, 28 Apr 2018 22:56:43 +0000


On Sun, Mar 04, 2018 at 07:05:40PM -0600, Benjamin Kaduk wrote:
> On Sun, Mar 04, 2018 at 04:31:10AM -0500, Gary Gatling wrote:
> > Hello.
> > 
> > 
> > But now the third problem / error I get is:
> > 
> > rx_pthread.c:164:97: error: expected expression before ';' token
> >   error = CV_TIMEDWAIT(&rx_event_handler_cond, &event_handler_mutex,
> > &rx_pthread_next_event_time);
> > 
> 
> Hmm, it is as if CV_TIMEDWAIT() somehow got #defined away.
> 
> I see from the pastebin that you are basing your work off 1.6.22; I
> would recommend starting again from master (or 1.8.0pre5 which is
> pretty similar), since (1) new code would have to go through master
> anyway, and (2) master has some changes in this area, using the
> OpenAFS Portable Runtime (opr) library instead of directly using
> pthread calls, which may or may not be relevant.

I'm looking at this on Debian 9 PPC64le, and the latest git master,
( Thu apr 26, cfa74883e4996dfee2bd6ffaa3b967e5a7941e0b ) and strange
things like AFS_NORETURN are not defined when compiling 'assert.c'
in opr.h

(something is mangling my terminal with cut & paste here..)

opr.h: In function ‘opr_AssertionFailed’:
opr.h:19:52: error: expected declaration specifiers before ‘AFS_NORETURN’
 extern void opr_AssertionFailed(const char *, int) AFS_NORETURN;
                                                    ^~~~~~~~~~~~
opr.h:20:62: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘AFS_NORETURN’
 extern void opr_AssertFailU(const char *, const char *


I don't quite understand how this could not be defined, nor do
I fully understand how 'include/afs/stds.h' is supposed to be included
that does define that.

Any thoughts here?