[OpenAFS] AFS Client on IA 64
Klaas Hagemann
kerberos@northsailor.de
Tue, 22 Apr 2003 17:46:19 +0200
Hey, thanks a lot!!
chas williams schrieb:
> In message <3EA5568C.4040500@northsailor.de>,Klaas Hagemann writes:
>
>>Program received signal SIGSEGV, Segmentation fault.
>>0x4000000000004100 in __libc_utmp_lock ()
>>(gdb) where
>>#0 0x4000000000004100 in __libc_utmp_lock ()
>>#1 0x40000000000040d0 in __libc_utmp_lock ()
>
>
> congradulations you found a bug! i see the same problem on my ia64:
>
> % fs mkm /afs/.cmf.nrl.navy.mil/users/chas/backup user.chas.backup
> Segmentation fault
>
> however, the following does work:
>
> % cd /afs/cmf.nrl.navy.mil/users/chas/
> % fs mkm backup user.chas.backup
>
> i am not convinced that the trouble is in __libc_utmp_lock though.
> running gdb on my copy of fs that has the debugging symbols says:
>
> #0 0x4000000000004080 in Parent ()
> (gdb) where
> #0 0x4000000000004080 in Parent ()
> #1 0x00000005 in ?? ()
>
> and sure enough, the compiler reveals:
>
> cc -O2 -I/scratch/chas/openafs-1.2.7/include -I/scratch/chas/openafs-1.2.7/src/config -I/scratch/chas/openafs-1.2.7/include -O2 -G0 -c -o fs.o fs.c
> fs.c: In function `Parent':
> fs.c:253: warning: assignment makes pointer from integer without a cast
>
>
> /* return a static pointer to a buffer */
> static char *Parent(apath)
> char *apath;
> {
> char *tp;
> strcpy(tspace, apath); /* line 253 */
> tp = strrchr(tspace, '/');
> if (tp) {
> *tp = 0;
>
> so again, missing prototypes on the ia64 cause trouble. its hard to
> track all these down really. anyway, here is a patch against the source
> code to fix this problem:
>
> --- openafs-1.2.7/src/venus/fs.c.orig Tue Apr 22 11:09:29 2003
> +++ openafs-1.2.7/src/venus/fs.c Tue Apr 22 11:09:40 2003
> @@ -43,6 +43,13 @@
> #include <strings.h>
> #include <afs/afsutil.h>
> #include <stdlib.h>
> +#ifdef HAVE_STRING_H
> +#include <string.h>
> +#else
> +#ifdef HAVE_STRINGS_H
> +#include <strings.h>
> +#endif
> +#endif
> #include <assert.h>
> #include <afs/ptclient.h>
>
> hopefully this could make it into the 1.2.9 release.
>