[OpenAFS] building openafs on ppc64le architecture on Linux

Gary Gatling gsgatlin@ncsu.edu
Sun, 4 Mar 2018 04:31:10 -0500


--f403045ea33caf5630056692dea2
Content-Type: text/plain; charset="UTF-8"

Hello.

I was trying to compile openafs under ppc64le on fedora 27 in a vm I made.
The first problem I ran into was that config.guess did not know about
ppc64le. So I replaced that one with a newer version of it from

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD


install -p -m 755 %{SOURCE23}
${RPM_BUILD_DIR}/%{name}-%{version}/build-tools/config.guess

This got me further.

The second problem was that there was no param.ppc64le_linux26.h file. But
I found this thread from 2016 and followed the advice given....

https://lists.openafs.org/pipermail/openafs-info/2016-April/041757.html

Here are the commands I was using:

cp ${RPM_BUILD_DIR}/%{name}-%{version}/src/config/param.ppc64_linux26.h
${RPM_BUILD_DIR}/%{name}-%{version}/src/config/param.ppc64le_linux26.h

sed -i 's@AFSBIG_ENDIAN@AFSLITTLE_ENDIAN@'
${RPM_BUILD_DIR}/%{name}-%{version}/src/config/param.ppc64le_linux26.h

And that did change the value. And got a bit farther into the build....

cat
/home/gsgatlin/redhat/BUILD/openafs-1.6.22.2/src/config/param.ppc64le_linux26.h
| grep AFSLITTLE_ENDIAN
#define AFSLITTLE_ENDIAN 1

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);


Here is the full output from warnings and errors from a little bit above
where it goes south from what I can tell:

https://pastebin.com/j9Nm58sy

Here are my config options

# build the user-space bits for base architectures
    ./configure \
        --prefix=%{_prefix} \
        --libdir=%{_libdir} \
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \
        --sysconfdir=%{_sysconfdir} \
        --localstatedir=%{_var} \
        --with-afs-sysname=%{sysname} \
        --with-linux-kernel-headers=%{ksource_dir} \
        --disable-kernel-module \
        --disable-strip-binaries \
        --enable-supergroups

where %{sysname} is ppc64le_linux26

Anyone know if there could be a way around that error? Perhaps its just too
hard a problem? I could make a longer pastebin with all the output from
rpmbuild if it would help.

Thanks,

--f403045ea33caf5630056692dea2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello.<div><br></div><div>I was trying to compile openafs =
under ppc64le on fedora 27 in a vm I made. The first problem I ran into was=
 that config.guess did not know about ppc64le. So I replaced that one with =
a newer version of it from=C2=A0</div><div><br></div><div><a href=3D"http:/=
/git.savannah.gnu.org/gitweb/?p=3Dconfig.git;a=3Dblob_plain;f=3Dconfig.gues=
s;hb=3DHEAD">http://git.savannah.gnu.org/gitweb/?p=3Dconfig.git;a=3Dblob_pl=
ain;f=3Dconfig.guess;hb=3DHEAD</a><br></div><div><br></div><div><br></div><=
div>install -p -m 755 %{SOURCE23} ${RPM_BUILD_DIR}/%{name}-%{version}/build=
-tools/config.guess<br></div><div><br></div><div>This got me further.</div>=
<div><br></div><div>The second problem was that there was no=C2=A0param.ppc=
64le_linux26.h file. But I found this thread from 2016 and followed the adv=
ice given....</div><div><br></div><div><a href=3D"https://lists.openafs.org=
/pipermail/openafs-info/2016-April/041757.html">https://lists.openafs.org/p=
ipermail/openafs-info/2016-April/041757.html</a><br></div><div><br></div><d=
iv>Here are the commands I was using:</div><div><br></div><div><div>cp ${RP=
M_BUILD_DIR}/%{name}-%{version}/src/config/param.ppc64_linux26.h ${RPM_BUIL=
D_DIR}/%{name}-%{version}/src/config/param.ppc64le_linux26.h</div><div><br>=
</div><div>sed -i &#39;s@AFSBIG_ENDIAN@AFSLITTLE_ENDIAN@&#39; ${RPM_BUILD_D=
IR}/%{name}-%{version}/src/config/param.ppc64le_linux26.h</div></div><div><=
br></div><div>And that did change the value. And got a bit farther into the=
 build....</div><div><div><br></div><div>cat /home/gsgatlin/redhat/BUILD/op=
enafs-1.6.22.2/src/config/param.ppc64le_linux26.h | grep AFSLITTLE_ENDIAN</=
div><div>#define AFSLITTLE_ENDIAN<span style=3D"white-space:pre">	</span>1<=
/div></div><div><br></div><div>But now the third problem / error I get is:<=
/div><div><br></div><div><div>rx_pthread.c:164:97: error: expected expressi=
on before &#39;;&#39; token</div><div>=C2=A0 error =3D CV_TIMEDWAIT(&amp;rx=
_event_handler_cond, &amp;event_handler_mutex, &amp;rx_pthread_next_event_t=
ime);</div></div><div><br></div><div><br></div><div>Here is the full output=
 from warnings and errors from a little bit above where it goes south from =
what I can tell:</div><div><br></div><div><a href=3D"https://pastebin.com/j=
9Nm58sy">https://pastebin.com/j9Nm58sy</a><br></div><div><br></div><div>Her=
e are my config options</div><div><br></div><div><div># build the user-spac=
e bits for base architectures</div><div>=C2=A0 =C2=A0 ./configure \</div><d=
iv>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --prefix=3D%{_prefix} \</div><div>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 --libdir=3D%{_libdir} \</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 --bindir=3D%{_bindir} \</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --sbin=
dir=3D%{_sbindir} \</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --sysconfdir=3D%{=
_sysconfdir} \</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --localstatedir=3D%{_v=
ar} \</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --with-afs-sysname=3D%{sysname}=
 \</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --with-linux-kernel-headers=3D%{ks=
ource_dir} \</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --disable-kernel-module =
\</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --disable-strip-binaries \</div><di=
v>=C2=A0 =C2=A0 =C2=A0 =C2=A0 --enable-supergroups</div></div><div><br></di=
v><div>where %{sysname} is=C2=A0ppc64le_linux26<br></div><div><br></div><di=
v>Anyone know if there could be a way around that error? Perhaps its just t=
oo hard a problem? I could make a longer pastebin with all the output from =
rpmbuild if it would help.</div><div><br></div><div>Thanks,</div><div><br><=
/div></div>

--f403045ea33caf5630056692dea2--