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/[email protected]/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 change in the form of a patch I can apply to the released 1.4.12 source tree? If 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 <[email protected]>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 like > 1.4.12 is the most recent release, and Norbert annotates this with: > > amd64_linux26 gcc 1.4.12(*) 5.10.0 threaded > (*) => modified libraries > libafsrpc.a > and libafsauthent.a > > Um..... modified? In what way? Since I use threaded perl-5.10.1 builds, > 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=64 -O2 -DVERSION=\"v2.6.2\" > -DXS_VERSION=\"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 ‘InStatus’ has incomplete type > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1387: > warning: ‘struct osi_file’ 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: ‘struct AFSFetchStatus’ declared inside parameter list > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1395: > warning: ‘struct dcache’ declared inside parameter list > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1402: > warning: ‘struct osi_file’ declared inside parameter list > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1404: > warning: ‘struct afs_FetchOutput’ declared inside parameter list > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1404: > warning: ‘struct dcache’ declared inside parameter list > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1440: > error: expected ‘)’ before ‘*’ token > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1444: > error: expected ‘)’ before ‘*’ token > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1448: > error: expected ‘)’ before ‘*’ token > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afs.h:1452: > error: expected ‘)’ before ‘*’ 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/perl.h:4814, > from AFS.xs:41: > /efs/test/perl5/core/5.10.1-build020/.exec/x86-64.rhel.5/lib/perl5/CORE/thread.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/perl.h:4814, > from AFS.xs:41: > /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\ > 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/perl.h:976, > from AFS.xs:41: > /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\ > n > AFS.xs: In function ‘set_code’: > AFS.xs:267: warning: cast to pointer from integer of different size > AFS.xs: At top level: > AFS.xs:610: error: static declaration of ‘stolower’ follows non-static > declaration > /efs/test/openafs/core/1.5.77/.exec/x86-64.rhel.5/include/afs/afsutil_prototypes.h:35: > error: previous declaration of ‘stolower’ was here > AFS.xs: In function ‘internal_pts_new’: > AFS.xs:680: warning: passing argument 4 of ‘ktc_GetToken’ from incompatible > pointer type > AFS.xs: In function ‘em’: > AFS.xs:2195: warning: cast to pointer from integer of different size > AFS.xs: In function ‘internal_bos_new’: > AFS.xs:2307: warning: passing argument 4 of ‘ktc_GetToken’ from > incompatible pointer type > AFS.xs: In function ‘XS_AFS_whereis’: > AFS.xs:3308: error: ‘MAXHOSTS’ 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 ‘XS_AFS_checkservers’: > AFS.xs:3363: error: ‘MAXHOSTS’ undeclared (first use in this function) > AFS.xs: In function ‘XS_AFS_getcell’: > AFS.xs:3389: error: ‘OMAXHOSTS’ undeclared (first use in this function) > AFS.xs:3409: error: ‘MAXHOSTS’ undeclared (first use in this function) > AFS.xs: In function ‘XS_AFS__VOS_offline’: > AFS.xs:6093: warning: the address of ‘sleep’, will always evaluate as > ‘true’ > AFS.xs: In function ‘XS_AFS__BOS_addkey’: > AFS.xs:8352: warning: passing argument 3 of ‘BOZO_AddKey’ from incompatible > pointer type > AFS.xs: In function ‘XS_AFS__BOS_setrestart’: > AFS.xs:8601: warning: passing argument 3 of ‘BOZO_SetRestartTime’ from > incompatible pointer type > AFS.xs: In function ‘XS_AFS__BOS_getrestart’: > AFS.xs:8626: warning: passing argument 3 of ‘BOZO_GetRestartTime’ from > incompatible pointer type > AFS.xs:8633: warning: passing argument 3 of ‘BOZO_GetRestartTime’ from > incompatible pointer type > AFS.xs: In function ‘XS_AFS__BOS_listkeys’: > AFS.xs:9146: warning: passing argument 4 of ‘BOZO_ListKeys’ from > incompatible pointer type > AFS.xs: In function ‘XS_AFS_ka_GetAdminToken’: > AFS.xs:11283: warning: cast to pointer from integer of different size > AFS.xs: In function ‘XS_AFS_error_message’: > 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 > >
