[OpenAFS-devel] AIX install

Kris Van Hees aedil-afs@alchar.org
Fri, 8 Aug 2003 11:32:56 -0400


Looking into the pinstall issue myself a bit as I was trying to get OpenAFS
to compile on our AIX 5.1, I found that just changing pinstall to add in the
'-X32_64' flag with AFS_AIX51_ENV and AFS_64BIT_ENV are defined is sufficient
to solve this problem.  Using a more standard install would definitely be a lot
better as the ongoing thread stated, but for now this seems to be a very small
workaround.

Now, why strip would need such an option when -X32_64 lets it strip both 32 bit
and 64 bit executables is beyond me.  I assume they have a good reason for it.

On top of this, I also needed to fix two typos in the AIX 5.1 system include
files (/usr/include/sys/audit.h in fact), and the use of vfs_syncvfs had to be
removed from src/afs/AIX/osi_vfsops.c and src/afs/AIX/osi_vnodeops.c, because
at least this install of AIX 5.1 does not have a vfs_syncvfs in the vfsops
struct.  Since people have mentioned that they are running this in production,
I'm wondering whether there have been major revisions to AIX 5.1 somehow that
could cause this large a discrepancy?

Also, I found that after getting things to compile and install, there is no
v3fshelper in the OpenAFS sources, to handle the fsck of the /vicepxx
partitions.  After a reboot it turned out that somehow, fsck may have in fact
destroyed my volumes, so I'd guess there is a need for *something* to deal
with fsck on AIX?

	Kris


On Mon, Jul 07, 2003 at 04:52:36PM -0400, Matt Bacchi wrote:
> Ok, after playing with this a bit, I think the easiest way to avoid 
> strip problems on AIX is to use 'pinstall -ns' on the binaries that are 
> compiled with -q64.
> 
> I know some folks suggested using the system install, but that won't 
> work unless we modify configure(autoconf) to accept AIX's install. 
> Also, install-sh doesn't have a '-ns' switch.  Does anyone see any 
> issues with the attached patch for src/export/Makefile.in?
> 
> src/audit/Makefile.in also had to be fixed, I found that with current 
> rules for dest Audit would be copied as a plain file to 
> ${DEST}/root.server/usr/afs/local, and subsequent rules would fail.
> 
> Otherwise the CVS head compiles and installs fine on AIX 5.1.  It is 
> running on a test machine now under low stress.
> 
> -Matt

> Index: src/export/Makefile.in
> ===================================================================
> RCS file: /cvs/openafs/src/export/Makefile.in,v
> retrieving revision 1.13
> diff -u -r1.13 Makefile.in
> --- src/export/Makefile.in	4 Jul 2003 15:58:04 -0000	1.13
> +++ src/export/Makefile.in	7 Jul 2003 13:14:41 -0000
> @@ -102,36 +102,36 @@
>  	${CC} -q64 ${CFLAGS} -c cfgafs.c -o cfgafs64.o
>  
>  clean:
> -	$(RM) -f *.o *.Zlst *.map *.out cfgexport cfgafs *.ext AFS_component_version_number.c export.exp
> +	$(RM) -f *.o *.Zlst *.map *.out cfgexport cfgafs *.ext AFS_component_version_number.c
>  ${DEST}/root.client/usr/vice/etc/dkload/export.ext: export.ext
>  	${INSTALL} $? $@
>  
>  ${DEST}/root.client/usr/vice/etc/dkload/export64.ext: export64.ext
> -	${INSTALL} $? $@
> +	${INSTALL} -ns $? $@
>  
>  ${DEST}/root.client/usr/vice/etc/dkload/export.ext.nonfs: export.ext.nonfs
>  	${INSTALL} $? $@
>  
>  ${DEST}/root.client/usr/vice/etc/dkload/export64.ext.nonfs: export64.ext.nonfs
> -	${INSTALL} $? $@
> +	${INSTALL} -ns $? $@
>  
>  ${DEST}/lib/afs/export.exp: export.exp
>  	${INSTALL} $? $@
>  
>  ${DEST}/lib/afs/export64.exp: export64.exp
> -	${INSTALL} $? $@
> +	${INSTALL} -ns $? $@
>  
>  ${DESTDIR}${libdir}/afs/export.exp: export.exp
>  	${INSTALL} $? $@ 
>  
>  ${DESTDIR}${libdir}/afs/export64.exp: export64.exp
> -	${INSTALL} $? $@ 
> +	${INSTALL} -ns $? $@ 
>  
>  ${TOP_LIBDIR}/export.exp: export.exp
>  	${INSTALL} $? $@
>  
>  ${TOP_LIBDIR}/export64.exp: export64.exp
> -	${INSTALL} $? $@
> +	${INSTALL} -ns $? $@
>  
>  ${DEST}/lib/afs/extras.exp: extras.exp
>  	${INSTALL} $? $@
> @@ -148,13 +148,13 @@
>  	${INSTALL} $? $@
>  
>  ${DEST}/root.client/usr/vice/etc/dkload/cfgexport64: cfgexport64
> -	${INSTALL} $? $@
> +	${INSTALL} -ns $? $@
>  
>  ${DEST}/root.client/usr/vice/etc/dkload/cfgafs: cfgafs
>  	${INSTALL} $? $@
>  
>  ${DEST}/root.client/usr/vice/etc/dkload/cfgafs64: cfgafs64
> -	${INSTALL} $? $@
> +	${INSTALL} -ns $? $@
>  
>  dest:    ${DEST}/root.client/usr/vice/etc/dkload/export.ext \
>  	${DEST}/root.client/usr/vice/etc/dkload/export64.ext \
> Index: src/audit/Makefile.in
> ===================================================================
> RCS file: /cvs/openafs/src/audit/Makefile.in,v
> retrieving revision 1.8
> diff -u -r1.8 Makefile.in
> --- src/audit/Makefile.in	17 Apr 2003 15:05:59 -0000	1.8
> +++ src/audit/Makefile.in	7 Jul 2003 13:16:53 -0000
> @@ -57,6 +57,7 @@
>  dest:  ${DEST}/lib/afs/libaudit.a ${DEST}/include/afs/audit.h
>  	case ${SYS_NAME} in \
>  	rs_aix*) \
> +           mkdir ${DEST}/root.server/usr/afs/local ; \
>  	   ${INSTALL} ${srcdir}/Audit              ${DEST}/root.server/usr/afs/local ;  \
>  	   ${INSTALL} ${srcdir}/objects.aix.sample ${DEST}/root.server/usr/afs/local/audit/objects.sample ;  \
>  	   ${INSTALL} ${srcdir}/events.aix.sample  ${DEST}/root.server/usr/afs/local/audit/events.sample  ;  \


-- 
Never underestimate a Mage with:
 - the Intelligence to cast Magic Missile,
 - the Constitution to survive the first hit, and
 - the Dexterity to run fast enough to avoid being hit a second time.