[OpenAFS-devel] 1.3.71 on AIX 5.2 with VAC 6.0

Harald Barth haba@pdc.kth.se
Tue, 28 Sep 2004 10:04:44 +0200 (MEST)


Runs into the following compile error:

"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 105.5: 1506-196 (E) Initialization between types "void*(*)(int)" and "void*(*)(long)" is not allowed.
"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 106.5: 1506-196 (E) Initialization between types "int(*)(struct osi_file*,int)" and "int(*)(struct memCacheEntry*,int)" is not allowed.
"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 107.5: 1506-196 (E) Initialization between types "int(*)(struct osi_file*,int,void*,int)" and "int(*)(struct memCacheEntry*,int,char*,int)" is not allowed.
"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 108.5: 1506-196 (E) Initialization between types "int(*)(struct osi_file*,int,void*,int)" and "int(*)(struct memCacheEntry*,int,char*,int)" is not allowed.
"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 109.5: 1506-196 (E) Initialization between types "int(*)(struct osi_file*)" and "int(*)(char*)" is not allowed.
"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 112.5: 1506-196 (E) Initialization between types "int(*)(struct rx_call*,struct osi_file*,long long,struct dcache*,struct vcache*,long long*,long long*,int)" and "int(*)(struct rx_call*,struct memCacheEntry*,long long,struct dcache*,struct vcache*,long long*,long long*,int)" is not allowed.
"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 113.5: 1506-196 (E) Initialization between types "int(*)(struct rx_call*,struct osi_file*,int,struct vcache*,int*,long long*,long long*)" and "int(*)(struct rx_call*,struct memCacheEntry*,int,struct vcache*,int*,long long*,long long*,int)" is not allowed.

And I really don't understand how

struct afs_cacheOps afs_UfsCacheOps = {
    osi_UFSOpen,
    osi_UFSTruncate,
    afs_osi_Read,
    (...)
};

struct afs_cacheOps afs_MemCacheOps = {
    afs_MemCacheOpen,
    afs_MemCacheTruncate,
    afs_MemReadBlk,
    (...)
};

is supposed to work when the struct members are of different types.

Further down there is another problem

"/usr/src/openafs-1.3.71/src/afs/afs_dcache.c", line 1540.5: 1506-275 (S) Unexpected text 'struct' encountered.

But I think that can be ifdefed out.

I guess someone did get it to compile on AIX. How?

Harald.