[OpenAFS] Re: Building AFS-2.6.2 perl module with OpenAFS 1.5.77

Phillip Moore w.phillip.moore@gmail.com
Wed, 20 Oct 2010 14:30:06 -0400


--0016e64c253e36fc120493109958
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

I went ahead and built 1.4.12, and immediately discovered what Norbert was
alluding to when he mentioned "modified libraries".  I'm going to need to
build *_pic versions of both libraries, and according to this post/thread:

http://www.mail-archive.com/openafs-devel@openafs.org/msg11993.html

There's a patch available to 1.4.12 that will build both of these libraries=
.
   Can someone give me some pointers on the logistics of getting that chang=
e
in the form of a patch I can apply to the released 1.4.12 source tree?    I=
f
you download the 1.4.12 src tarball and build it, you don't get either of
these libraries.

On Wed, Oct 20, 2010 at 12:18 PM, Phillip Moore
<w.phillip.moore@gmail.com>wrote:

> Has anyone been able to compile the AFS-2.6.2 perl module against OpenAFS
> 1.5.77?
>
> According to the list of platforms listed in the README file, it looks li=
ke
> 1.4.12 is the most recent release, and Norbert annotates this with:
>
>                        amd64_linux26  gcc       1.4.12(*)  5.10.0  thread=
ed
>                                                 (*) =3D> modified librari=
es
> libafsrpc.a
>                                                        and libafsauthent.=
a
>
> Um..... modified?   In what way?   Since I use threaded perl-5.10.1 build=
s,
> I'd like to know how they are modified.
>
> When attempting to build the module on x86_64 CentOS 5.5, using gcc 4.4.4=
,
> and OpenAFS 1.5.77, I get the following errors:
>
> gcc -c  -I/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include
> -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -=
D_\
> LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O2   -DVERSION=3D\"v2.6.2\"
> -DXS_VERSION=3D\"v2.6.2\" -fPIC
> "-I/efs/test/perl5/core/5.10.1-build020/.exec/\
> x86-64.rhel.5/lib/perl5/CORE"  -D -DAFS_PTHREAD_ENV -DOpenAFS  AFS.c
> <command line>:1:1: error: macro names must be identifiers
> In file included from AFS.xs:59:
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1381:
> error: field =91InStatus=92 has incomplete type
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1387:
> warning: =91struct osi_file=92 declared inside parameter list
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1387:
> warning: its scope is only this definition or declaration, which is p\
> robably not what you want
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1392:
> warning: =91struct AFSFetchStatus=92 declared inside parameter list
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1395:
> warning: =91struct dcache=92 declared inside parameter list
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1402:
> warning: =91struct osi_file=92 declared inside parameter list
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1404:
> warning: =91struct afs_FetchOutput=92 declared inside parameter list
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1404:
> warning: =91struct dcache=92 declared inside parameter list
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1440:
> error: expected =91)=92 before =91*=92 token
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1444:
> error: expected =91)=92 before =91*=92 token
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1448:
> error: expected =91)=92 before =91*=92 token
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1452:
> error: expected =91)=92 before =91*=92 token
> In file included from
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/rx/rx.h:47,
>                  from
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afsint.h:60=
,
>                  from AFS.xs:60:
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/rx/rx_lwp.h:23:=
1:
> warning: "MUTEX_DESTROY" redefined
> In file included from
> /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/p=
erl.h:4814,
>                  from AFS.xs:41:
> /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/t=
hread.h:234:1:
> warning: this is the location of the previous definitio\
> n
> In file included from
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/rx/rx.h:47,
>                  from
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afsint.h:60=
,
>                  from AFS.xs:60:
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/rx/rx_lwp.h:27:=
1:
> warning: "MUTEX_INIT" redefined
> In file included from
> /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/p=
erl.h:4814,
>                  from AFS.xs:41:
> /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/t=
hread.h:209:1:
> warning: this is the location of the previous definitio\
> n
> In file included from AFS.xs:73:
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/ubik.h:78:1:
> warning: "vcmp" redefined
> In file included from
> /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/p=
erl.h:976,
>                  from AFS.xs:41:
> /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/e=
mbed.h:2929:1:
> warning: this is the location of the previous definitio\
> n
> AFS.xs: In function =91set_code=92:
> AFS.xs:267: warning: cast to pointer from integer of different size
> AFS.xs: At top level:
> AFS.xs:610: error: static declaration of =91stolower=92 follows non-stati=
c
> declaration
> /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afsutil_pro=
totypes.h:35:
> error: previous declaration of =91stolower=92 was here
> AFS.xs: In function =91internal_pts_new=92:
> AFS.xs:680: warning: passing argument 4 of =91ktc_GetToken=92 from incomp=
atible
> pointer type
> AFS.xs: In function =91em=92:
> AFS.xs:2195: warning: cast to pointer from integer of different size
> AFS.xs: In function =91internal_bos_new=92:
> AFS.xs:2307: warning: passing argument 4 of =91ktc_GetToken=92 from
> incompatible pointer type
> AFS.xs: In function =91XS_AFS_whereis=92:
> AFS.xs:3308: error: =91MAXHOSTS=92 undeclared (first use in this function=
)
> AFS.xs:3308: error: (Each undeclared identifier is reported only once
> AFS.xs:3308: error: for each function it appears in.)
> AFS.xs: In function =91XS_AFS_checkservers=92:
> AFS.xs:3363: error: =91MAXHOSTS=92 undeclared (first use in this function=
)
> AFS.xs: In function =91XS_AFS_getcell=92:
> AFS.xs:3389: error: =91OMAXHOSTS=92 undeclared (first use in this functio=
n)
> AFS.xs:3409: error: =91MAXHOSTS=92 undeclared (first use in this function=
)
> AFS.xs: In function =91XS_AFS__VOS_offline=92:
> AFS.xs:6093: warning: the address of =91sleep=92, will always evaluate as
> =91true=92
> AFS.xs: In function =91XS_AFS__BOS_addkey=92:
> AFS.xs:8352: warning: passing argument 3 of =91BOZO_AddKey=92 from incomp=
atible
> pointer type
> AFS.xs: In function =91XS_AFS__BOS_setrestart=92:
> AFS.xs:8601: warning: passing argument 3 of =91BOZO_SetRestartTime=92 fro=
m
> incompatible pointer type
> AFS.xs: In function =91XS_AFS__BOS_getrestart=92:
> AFS.xs:8626: warning: passing argument 3 of =91BOZO_GetRestartTime=92 fro=
m
> incompatible pointer type
> AFS.xs:8633: warning: passing argument 3 of =91BOZO_GetRestartTime=92 fro=
m
> incompatible pointer type
> AFS.xs: In function =91XS_AFS__BOS_listkeys=92:
> AFS.xs:9146: warning: passing argument 4 of =91BOZO_ListKeys=92 from
> incompatible pointer type
> AFS.xs: In function =91XS_AFS_ka_GetAdminToken=92:
> AFS.xs:11283: warning: cast to pointer from integer of different size
> AFS.xs: In function =91XS_AFS_error_message=92:
> AFS.xs:11698: warning: cast to pointer from integer of different size
> make[1]: *** [AFS.o] Error 1
> make[1]: Leaving directory `/home/efstest/dev/cpan/AFS-2.6.2/src'
> make: *** [subdirs] Error 2
>
>

--0016e64c253e36fc120493109958
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<div><br></div>I went ahead and built 1.4.12, and immediately discovered wh=
at Norbert was alluding to when he mentioned &quot;modified libraries&quot;=
. =A0I&#39;m going to need to build *_pic versions of both libraries, and a=
ccording to this post/thread:<div>
<br></div><div><a href=3D"http://www.mail-archive.com/openafs-devel@openafs=
.org/msg11993.html">http://www.mail-archive.com/openafs-devel@openafs.org/m=
sg11993.html</a><div><div><br></div><div>There&#39;s a patch available to 1=
.4.12 that will build both of these libraries. =A0 =A0Can someone give me s=
ome pointers on the logistics of getting that change in the form of a patch=
 I can apply to the released 1.4.12 source tree? =A0 =A0If you download the=
 1.4.12 src tarball and build it, you don&#39;t get either of these librari=
es.</div>
<br><div class=3D"gmail_quote">On Wed, Oct 20, 2010 at 12:18 PM, Phillip Mo=
ore <span dir=3D"ltr">&lt;<a href=3D"mailto:w.phillip.moore@gmail.com">w.ph=
illip.moore@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x;">
Has anyone been able to compile the AFS-2.6.2 perl module against OpenAFS 1=
.5.77?<div><br></div><div>According to the list of platforms listed in the =
README file, it looks like 1.4.12 is the most recent release, and Norbert a=
nnotates this with:</div>

<div><br></div><div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 amd=
64_linux26 =A0gcc =A0 =A0 =A0 1.4.12(*) =A05.10.0 =A0threaded</div><div>=A0=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0(*) =3D&gt; modified libraries libafsrpc.a</div><div>=
=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 and libafsauthent.a</div>

</div><div><br></div><div>Um..... modified? =A0 In what way? =A0 Since I us=
e threaded perl-5.10.1 builds, I&#39;d like to know how they are modified.<=
/div><div><br></div><div>When attempting to build the module on x86_64 Cent=
OS 5.5, using gcc 4.4.4, and OpenAFS 1.5.77, I get the following errors:</d=
iv>

<div><br></div><div>gcc -c =A0-I/efs/test/openafs/core/1.5.77/.exec/x86-64.=
rhel.5/include -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstac=
k-protector -D_\</div><div>LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O2 =
=A0 -DVERSION=3D\&quot;v2.6.2\&quot; -DXS_VERSION=3D\&quot;v2.6.2\&quot; -f=
PIC &quot;-I/efs/test/perl5/core/5.10.1-build020/.exec/\</div>

<div>x86-64.rhel.5/lib/perl5/CORE&quot; =A0-D -DAFS_PTHREAD_ENV -DOpenAFS =
=A0AFS.c</div><div>&lt;command line&gt;:1:1: error: macro names must be ide=
ntifiers</div><div>In file included from AFS.xs:59:</div><div>/efs/test/ope=
nafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1381: error: field =
=91InStatus=92 has incomplete type</div>

<div>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:13=
87: warning: =91struct osi_file=92 declared inside parameter list</div><div=
>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1387: =
warning: its scope is only this definition or declaration, which is p\</div=
>

<div>robably not what you want</div><div>/efs/test/openafs/core/1.5.77/.exe=
c/x86-64.rhel.5/include/afs/afs.h:1392: warning: =91struct AFSFetchStatus=
=92 declared inside parameter list</div><div>/efs/test/openafs/core/1.5.77/=
.exec/x86-64.rhel.5/include/afs/afs.h:1395: warning: =91struct dcache=92 de=
clared inside parameter list</div>

<div>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:14=
02: warning: =91struct osi_file=92 declared inside parameter list</div><div=
>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1404: =
warning: =91struct afs_FetchOutput=92 declared inside parameter list</div>

<div>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:14=
04: warning: =91struct dcache=92 declared inside parameter list</div><div>/=
efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1440: er=
ror: expected =91)=92 before =91*=92 token</div>

<div>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:14=
44: error: expected =91)=92 before =91*=92 token</div><div>/efs/test/openaf=
s/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1448: error: expected =
=91)=92 before =91*=92 token</div>

<div>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:14=
52: error: expected =91)=92 before =91*=92 token</div><div>In file included=
 from /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/rx/rx.h:47,=
</div>

<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 from /efs/test/openafs/core/1.5.77/=
.exec/x86-64.rhel.5/include/afs/afsint.h:60,</div><div>=A0=A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 from AFS.xs:60:</div><div>/efs/test/openafs/core/1.5.77/.ex=
ec/x86-64.rhel.5/include/rx/rx_lwp.h:23:1: warning: &quot;MUTEX_DESTROY&quo=
t; redefined</div>

<div>In file included from /efs/test/perl5/core/5.10.1-build020/.exec/x86-6=
4.rhel.5/lib/perl5/CORE/perl.h:4814,</div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 from AFS.xs:41:</div><div>/efs/test/perl5/core/5.10.1-build020/.exe=
c/x86-64.rhel.5/lib/perl5/CORE/thread.h:234:1: warning: this is the locatio=
n of the previous definitio\</div>

<div>n</div><div>In file included from /efs/test/openafs/core/1.5.77/.exec/=
x86-64.rhel.5/include/rx/rx.h:47,</div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 from /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afsi=
nt.h:60,</div>

<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 from AFS.xs:60:</div><div>/efs/test=
/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/rx/rx_lwp.h:27:1: warning:=
 &quot;MUTEX_INIT&quot; redefined</div><div>In file included from /efs/test=
/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/perl.h:4814,=
</div>

<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 from AFS.xs:41:</div><div>/efs/test=
/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/thread.h:209=
:1: warning: this is the location of the previous definitio\</div><div>n</d=
iv><div>In file included from AFS.xs:73:</div>

<div>/efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/ubik.h:78:1:=
 warning: &quot;vcmp&quot; redefined</div><div>In file included from /efs/t=
est/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/perl.h:97=
6,</div>

<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 from AFS.xs:41:</div><div>/efs/test=
/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/embed.h:2929=
:1: warning: this is the location of the previous definitio\</div><div>n</d=
iv><div>AFS.xs: In function =91set_code=92:</div>

<div>AFS.xs:267: warning: cast to pointer from integer of different size</d=
iv><div>AFS.xs: At top level:</div><div>AFS.xs:610: error: static declarati=
on of =91stolower=92 follows non-static declaration</div><div>/efs/test/ope=
nafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afsutil_prototypes.h:35: e=
rror: previous declaration of =91stolower=92 was here</div>

<div>AFS.xs: In function =91internal_pts_new=92:</div><div>AFS.xs:680: warn=
ing: passing argument 4 of =91ktc_GetToken=92 from incompatible pointer typ=
e</div><div>AFS.xs: In function =91em=92:</div><div>AFS.xs:2195: warning: c=
ast to pointer from integer of different size</div>

<div>AFS.xs: In function =91internal_bos_new=92:</div><div>AFS.xs:2307: war=
ning: passing argument 4 of =91ktc_GetToken=92 from incompatible pointer ty=
pe</div><div>AFS.xs: In function =91XS_AFS_whereis=92:</div><div>AFS.xs:330=
8: error: =91MAXHOSTS=92 undeclared (first use in this function)</div>

<div>AFS.xs:3308: error: (Each undeclared identifier is reported only once<=
/div><div>AFS.xs:3308: error: for each function it appears in.)</div><div>A=
FS.xs: In function =91XS_AFS_checkservers=92:</div><div>AFS.xs:3363: error:=
 =91MAXHOSTS=92 undeclared (first use in this function)</div>

<div>AFS.xs: In function =91XS_AFS_getcell=92:</div><div>AFS.xs:3389: error=
: =91OMAXHOSTS=92 undeclared (first use in this function)</div><div>AFS.xs:=
3409: error: =91MAXHOSTS=92 undeclared (first use in this function)</div><d=
iv>AFS.xs: In function =91XS_AFS__VOS_offline=92:</div>

<div>AFS.xs:6093: warning: the address of =91sleep=92, will always evaluate=
 as =91true=92</div><div>AFS.xs: In function =91XS_AFS__BOS_addkey=92:</div=
><div>AFS.xs:8352: warning: passing argument 3 of =91BOZO_AddKey=92 from in=
compatible pointer type</div>

<div>AFS.xs: In function =91XS_AFS__BOS_setrestart=92:</div><div>AFS.xs:860=
1: warning: passing argument 3 of =91BOZO_SetRestartTime=92 from incompatib=
le pointer type</div><div>AFS.xs: In function =91XS_AFS__BOS_getrestart=92:=
</div><div>

AFS.xs:8626: warning: passing argument 3 of =91BOZO_GetRestartTime=92 from =
incompatible pointer type</div><div>AFS.xs:8633: warning: passing argument =
3 of =91BOZO_GetRestartTime=92 from incompatible pointer type</div><div>AFS=
.xs: In function =91XS_AFS__BOS_listkeys=92:</div>

<div>AFS.xs:9146: warning: passing argument 4 of =91BOZO_ListKeys=92 from i=
ncompatible pointer type</div><div>AFS.xs: In function =91XS_AFS_ka_GetAdmi=
nToken=92:</div><div>AFS.xs:11283: warning: cast to pointer from integer of=
 different size</div>

<div>AFS.xs: In function =91XS_AFS_error_message=92:</div><div>AFS.xs:11698=
: warning: cast to pointer from integer of different size</div><div>make[1]=
: *** [AFS.o] Error 1</div><div>make[1]: Leaving directory `/home/efstest/d=
ev/cpan/AFS-2.6.2/src&#39;</div>

<div>make: *** [subdirs] Error 2</div><div>=A0</div>
</blockquote></div><br></div></div>

--0016e64c253e36fc120493109958--