[OpenAFS-devel] AIX build fails with missing symbol .RXAFS_OpCodeIndex

Ben Huntsman ben@huntsmans.net
Sun, 14 Aug 2022 06:23:53 +0000


--_000_MWHPR0701MB3674AC00364E0CA371D501CFA7699MWHPR0701MB3674_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi there!
   Yep, adding it to src/fsint/liboafs_fsint.la.sym indeed resolved that.  =
On to the next error...

Thanks!

-Ben

________________________________
From: Benjamin Kaduk <kaduk@mit.edu>
Sent: Saturday, August 13, 2022 1:47 PM
To: Ben Huntsman <ben@huntsmans.net>
Cc: openafs-devel@openafs.org <openafs-devel@openafs.org>
Subject: Re: [OpenAFS-devel] AIX build fails with missing symbol .RXAFS_OpC=
odeIndex

On Sat, Aug 13, 2022 at 08:09:55PM +0000, Ben Huntsman wrote:
> Hi guys-
>    Still trying to get the master branch to compile on AIX 6.1.  I've got=
ten through a number of hurdles, but I'm stuck on this one:
>
>          /bin/sh ../../libtool --quiet --mode=3Dlink --tag=3DCC   xlc_r -=
static   -L/project/openafs/lib -L/project/openafs/lib  -O  -DRXDEBUG -DFSS=
YNC_BUILD_SERVER -DSALVSYNC_BUILD_CLIENT   -O -K -D_NONSTD_TYPES -D_MBI=3Dv=
oid   -I/project/openafs/src/config -I/project/openafs/include  -I. -I.    =
  -DAFS_PTHREAD_ENV   -o fileserver viced.o afsfileprocs.o host.o physio.o =
callback.o serialize_state.o  fsstats.o buffer.o dir.o salvage.o vnode.o vo=
lume.o vutil.o partition.o fssync-server.o  clone.o devname.o common.o ihan=
dle.o listinodes.o namei_ops.o  salvsync-client.o daemon_com.o vg_cache.o v=
g_scan.o afsint.ss.o  ../../src/vlserver/liboafs_vldb.la  ../../src/rxkad/l=
iboafs_rxkad.la  ../../src/rxstat/liboafs_rxstat.la  ../../src/lwp/liboafs_=
lwpcompat.la  ../../src/libacl/liboafs_acl.la  ../../src/fsint/liboafs_fsin=
t.la  ../../src/cmd/liboafs_cmd.la  ../../src/opr/liboafs_opr.la  ../../src=
/util/liboafs_util.la -lafshcrypto -lrokenafs -lpthread -ldl
> ld: 0711-224 WARNING: Duplicate symbol: .icreate
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more informa=
tion.
> ld: 0711-317 ERROR: Undefined symbol: .RXAFS_OpCodeIndex
> make: 1254-004 The error code from the last command is 8.
>
>
>    Where does RXAFS_OpCodeIndex even come from?  It's in the object file =
afsfileprocs.o, but not in afsfileprocs.c.  Any hints at where I should sta=
rt looking would be appreciated.

The RXAFS prefix indicates that it relates to the Rx RPC procedures, that
have C code generated during the build process using the rxgen tool (a fork
of rpcgen).
It may well be that that symbol needs to be added to the export list in
src/fsint/liboafs_fsint.la.sym; IIRC AIX is one of the few platforms that
heeds the export list even when statically linking.

-Ben

--_000_MWHPR0701MB3674AC00364E0CA371D501CFA7699MWHPR0701MB3674_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
Hi there!</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp; &nbsp;Yep, adding it to&nbsp;src/fsint/liboafs_fsint.la.sym indeed r=
esolved that.&nbsp; On to the next error...</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
Thanks!</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
-Ben</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Benjamin Kaduk &lt;ka=
duk@mit.edu&gt;<br>
<b>Sent:</b> Saturday, August 13, 2022 1:47 PM<br>
<b>To:</b> Ben Huntsman &lt;ben@huntsmans.net&gt;<br>
<b>Cc:</b> openafs-devel@openafs.org &lt;openafs-devel@openafs.org&gt;<br>
<b>Subject:</b> Re: [OpenAFS-devel] AIX build fails with missing symbol .RX=
AFS_OpCodeIndex</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText">On Sat, Aug 13, 2022 at 08:09:55PM +0000, Ben Hunt=
sman wrote:<br>
&gt; Hi guys-<br>
&gt;&nbsp;&nbsp;&nbsp; Still trying to get the master branch to compile on =
AIX 6.1.&nbsp; I've gotten through a number of hurdles, but I'm stuck on th=
is one:<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /bin/sh ../../li=
btool --quiet --mode=3Dlink --tag=3DCC&nbsp;&nbsp; xlc_r -static&nbsp;&nbsp=
; -L/project/openafs/lib -L/project/openafs/lib&nbsp; -O&nbsp; -DRXDEBUG -D=
FSSYNC_BUILD_SERVER -DSALVSYNC_BUILD_CLIENT&nbsp;&nbsp; -O -K -D_NONSTD_TYP=
ES -D_MBI=3Dvoid&nbsp;&nbsp; -I/project/openafs/src/config -I/project/opena=
fs/include&nbsp;
 -I. -I.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -DAFS_PTHREAD_ENV&nbsp;&nbsp; -o fil=
eserver viced.o afsfileprocs.o host.o physio.o callback.o serialize_state.o=
&nbsp; fsstats.o buffer.o dir.o salvage.o vnode.o volume.o vutil.o partitio=
n.o fssync-server.o&nbsp; clone.o devname.o common.o ihandle.o listinodes.o=
 namei_ops.o&nbsp;
 salvsync-client.o daemon_com.o vg_cache.o vg_scan.o afsint.ss.o&nbsp; ../.=
./src/vlserver/liboafs_vldb.la&nbsp; ../../src/rxkad/liboafs_rxkad.la&nbsp;=
 ../../src/rxstat/liboafs_rxstat.la&nbsp; ../../src/lwp/liboafs_lwpcompat.l=
a&nbsp; ../../src/libacl/liboafs_acl.la&nbsp; ../../src/fsint/liboafs_fsint=
.la&nbsp;
 ../../src/cmd/liboafs_cmd.la&nbsp; ../../src/opr/liboafs_opr.la&nbsp; ../.=
./src/util/liboafs_util.la -lafshcrypto -lrokenafs -lpthread -ldl<br>
&gt; ld: 0711-224 WARNING: Duplicate symbol: .icreate<br>
&gt; ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more info=
rmation.<br>
&gt; ld: 0711-317 ERROR: Undefined symbol: .RXAFS_OpCodeIndex<br>
&gt; make: 1254-004 The error code from the last command is 8.<br>
&gt; <br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp; Where does RXAFS_OpCodeIndex even come from?&nbsp; I=
t's in the object file afsfileprocs.o, but not in afsfileprocs.c.&nbsp; Any=
 hints at where I should start looking would be appreciated.<br>
<br>
The RXAFS prefix indicates that it relates to the Rx RPC procedures, that<b=
r>
have C code generated during the build process using the rxgen tool (a fork=
<br>
of rpcgen).<br>
It may well be that that symbol needs to be added to the export list in<br>
src/fsint/liboafs_fsint.la.sym; IIRC AIX is one of the few platforms that<b=
r>
heeds the export list even when statically linking.<br>
<br>
-Ben<br>
</div>
</span></font></div>
</body>
</html>

--_000_MWHPR0701MB3674AC00364E0CA371D501CFA7699MWHPR0701MB3674_--