Build samba 3.2.2 with openafs 1.4.7

Gémes Géza geza at kzsdabas.hu
Fri Sep 5 19:35:16 GMT 2008


Hi, sorry for cross posting, but it seems to be an interoperability problem.

I've modified the afs/afs.h and afs/com_err.h header files to include
"afs/param.h", and now cofigure is working without any warnings, but the
build process fails at:

Compiling auth/pass_check.c
In file included from /usr/include/afs/kautils.h:35,
                 from auth/pass_check.c:89:
/usr/include/rx/xdr.h:153: error: nested redefinition of ‘enum xdr_op’
/usr/include/rx/xdr.h:153: error: redeclaration of ‘enum xdr_op’
/usr/include/rx/xdr.h:154: error: redeclaration of enumerator ‘XDR_ENCODE’
/usr/include/rpc/xdr.h:84: error: previous definition of ‘XDR_ENCODE’
was here
/usr/include/rx/xdr.h:155: error: redeclaration of enumerator ‘XDR_DECODE’
/usr/include/rpc/xdr.h:85: error: previous definition of ‘XDR_DECODE’
was here
/usr/include/rx/xdr.h:157: error: redeclaration of enumerator ‘XDR_FREE’
/usr/include/rpc/xdr.h:87: error: previous definition of ‘XDR_FREE’ was here
/usr/include/rx/xdr.h:177: error: conflicting types for ‘xdrproc_t’
/usr/include/rpc/xdr.h:154: error: previous declaration of ‘xdrproc_t’
was here
/usr/include/rx/xdr.h:192: error: redefinition of ‘struct xdr_ops’
/usr/include/rx/xdr.h:221: error: conflicting types for ‘XDR’
/usr/include/rpc/xdr.h:111: error: previous declaration of ‘XDR’ was here
/usr/include/rx/xdr.h:297: error: redefinition of ‘struct xdr_discrim’
In file included from /usr/include/rx/xdr.h:332,
                 from /usr/include/afs/kautils.h:35,
                 from auth/pass_check.c:89:
/usr/include/rx/xdr_prototypes.h:36: error: conflicting types for
‘xdr_array’
/usr/include/rpc/xdr.h:312: error: previous declaration of ‘xdr_array’
was here
/usr/include/rx/xdr_prototypes.h:44: error: conflicting types for ‘xdr_long’
/usr/include/rpc/xdr.h:292: error: previous declaration of ‘xdr_long’
was here
/usr/include/rx/xdr_prototypes.h:45: error: conflicting types for
‘xdr_u_long’
/usr/include/rpc/xdr.h:293: error: previous declaration of ‘xdr_u_long’
was here
/usr/include/rx/xdr_prototypes.h:46: error: conflicting types for ‘xdr_int’
/usr/include/rpc/xdr.h:290: error: previous declaration of ‘xdr_int’ was
here
/usr/include/rx/xdr_prototypes.h:47: error: conflicting types for
‘xdr_u_int’
/usr/include/rpc/xdr.h:291: error: previous declaration of ‘xdr_u_int’
was here
/usr/include/rx/xdr_prototypes.h:48: error: conflicting types for ‘xdr_char’
/usr/include/rpc/xdr.h:320: error: previous declaration of ‘xdr_char’
was here
/usr/include/rx/xdr_prototypes.h:49: error: conflicting types for
‘xdr_u_char’
/usr/include/rpc/xdr.h:321: error: previous declaration of ‘xdr_u_char’
was here
/usr/include/rx/xdr_prototypes.h:50: error: conflicting types for
‘xdr_short’
/usr/include/rpc/xdr.h:288: error: previous declaration of ‘xdr_short’
was here
/usr/include/rx/xdr_prototypes.h:51: error: conflicting types for
‘xdr_u_short’
/usr/include/rpc/xdr.h:289: error: previous declaration of ‘xdr_u_short’
was here
/usr/include/rx/xdr_prototypes.h:52: error: conflicting types for ‘xdr_bool’
/usr/include/rpc/xdr.h:308: error: previous declaration of ‘xdr_bool’
was here
/usr/include/rx/xdr_prototypes.h:53: error: conflicting types for ‘xdr_enum’
/usr/include/rpc/xdr.h:309: error: previous declaration of ‘xdr_enum’
was here
/usr/include/rx/xdr_prototypes.h:54: error: conflicting types for
‘xdr_opaque’
/usr/include/rpc/xdr.h:315: error: previous declaration of ‘xdr_opaque’
was here
/usr/include/rx/xdr_prototypes.h:56: error: conflicting types for
‘xdr_bytes’
/usr/include/rpc/xdr.h:314: error: previous declaration of ‘xdr_bytes’
was here
/usr/include/rx/xdr_prototypes.h:58: error: conflicting types for
‘xdr_union’
/usr/include/rpc/xdr.h:319: error: previous declaration of ‘xdr_union’
was here
/usr/include/rx/xdr_prototypes.h:59: error: conflicting types for
‘xdr_string’
/usr/include/rpc/xdr.h:316: error: previous declaration of ‘xdr_string’
was here
/usr/include/rx/xdr_prototypes.h:60: error: conflicting types for
‘xdr_wrapstring’
/usr/include/rpc/xdr.h:330: error: previous declaration of
‘xdr_wrapstring’ was here
/usr/include/rx/xdr_prototypes.h:64: error: conflicting types for
‘xdr_float’
/usr/include/rpc/xdr.h:324: error: previous declaration of ‘xdr_float’
was here
/usr/include/rx/xdr_prototypes.h:65: error: conflicting types for
‘xdr_double’
/usr/include/rpc/xdr.h:325: error: previous declaration of ‘xdr_double’
was here
/usr/include/rx/xdr_prototypes.h:69: error: conflicting types for
‘xdrmem_create’
/usr/include/rpc/xdr.h:353: error: previous declaration of
‘xdrmem_create’ was here
/usr/include/rx/xdr_prototypes.h:78: error: conflicting types for
‘xdrrec_create’
/usr/include/rpc/xdr.h:363: error: previous declaration of
‘xdrrec_create’ was here
/usr/include/rx/xdr_prototypes.h:79: error: conflicting types for
‘xdrrec_skiprecord’
/usr/include/rpc/xdr.h:369: error: previous declaration of
‘xdrrec_skiprecord’ was here
/usr/include/rx/xdr_prototypes.h:80: error: conflicting types for
‘xdrrec_eof’
/usr/include/rpc/xdr.h:372: error: previous declaration of ‘xdrrec_eof’
was here
/usr/include/rx/xdr_prototypes.h:81: error: conflicting types for
‘xdrrec_endofrecord’
/usr/include/rpc/xdr.h:366: error: previous declaration of
‘xdrrec_endofrecord’ was here
/usr/include/rx/xdr_prototypes.h:92: error: conflicting types for
‘xdr_pointer’
/usr/include/rpc/xdr.h:329: error: previous declaration of ‘xdr_pointer’
was here
/usr/include/rx/xdr_prototypes.h:95: error: conflicting types for
‘xdr_vector’
/usr/include/rpc/xdr.h:323: error: previous declaration of ‘xdr_vector’
was here
auth/pass_check.c: In function ‘afs_auth’:
auth/pass_check.c:108: warning: passing argument 7 of
‘ka_UserAuthenticateGeneral’ from incompatible pointer type
auth/pass_check.c: In function ‘password_check’:
auth/pass_check.c:552: warning: passing argument 1 of ‘afs_auth’
discards qualifiers from pointer target type
auth/pass_check.c:552: warning: passing argument 2 of ‘afs_auth’
discards qualifiers from pointer target type
The following command failed:
gcc -I. -I/home/kzsdabas/tmp/samba-3.2.2/source  -O -D_SAMBA_BUILD_=3
-I/usr/include/afs 
-I/home/kzsdabas/tmp/samba-3.2.2/source/iniparser/src -Iinclude
-I./include  -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include
-I./libaddns -I./librpc -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Iinclude -I./include -I. -I.
-I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns
-I./librpc -I./popt -I/usr/include/afs -DLDAP_DEPRECATED   -I/include
-I/home/kzsdabas/tmp/samba-3.2.2/source/lib -D_SAMBA_BUILD_=3 -fPIC -c
auth/pass_check.c -o auth/pass_check.o
make: *** [auth/pass_check.o] Error 1

Thanks for any pointer to the right direction

Geza

> Offhand guess: include <afs/param.h> before <afs/com_err.h>
>
>
> On Fri, Sep 5, 2008 at 12:35 PM, Gémes Géza <geza at kzsdabas.hu> wrote:
>   
>> Hi,
>>
>> sorry for posting it here, as it seems to be a samba build related
>> problem, but I was advised on the samba-technical mailing list to do so.
>>
>> I've tried to build samba-3.2.2 with afs support, so I cofigured it with:
>>
>> ./configure --with-afs --with-fake-kaserver --with-vfs-afsacl
>>
>>
>> It gave the following warnings:
>>
>> configure: WARNING: afs.h: present but cannot be compiled
>> configure: WARNING: afs.h:     check for missing prerequisite headers?
>> configure: WARNING: afs.h: see the Autoconf documentation
>> configure: WARNING: afs.h:     section "Present But Cannot Be Compiled"
>> configure: WARNING: afs.h: proceeding with the preprocessor's result
>> configure: WARNING: afs.h: in the future, the compiler will take precedence
>> configure: WARNING:     ## ---------------------------------------- ##
>> configure: WARNING:     ## Report this to samba-technical at samba.org ##
>> configure: WARNING:     ## ---------------------------------------- ##
>> configure: WARNING: afs/afs.h: present but cannot be compiled
>> configure: WARNING: afs/afs.h:     check for missing prerequisite headers?
>> configure: WARNING: afs/afs.h: see the Autoconf documentation
>> configure: WARNING: afs/afs.h:     section "Present But Cannot Be Compiled"
>> configure: WARNING: afs/afs.h: proceeding with the preprocessor's result
>> configure: WARNING: afs/afs.h: in the future, the compiler will take
>> precedence
>> configure: WARNING:     ## ---------------------------------------- ##
>> configure: WARNING:     ## Report this to samba-technical at samba.org ##
>> configure: WARNING:     ## ---------------------------------------- ##
>> configure: WARNING: com_err.h: present but cannot be compiled
>> configure: WARNING: com_err.h:     check for missing prerequisite headers?
>> configure: WARNING: com_err.h: see the Autoconf documentation
>> configure: WARNING: com_err.h:     section "Present But Cannot Be Compiled"
>> configure: WARNING: com_err.h: proceeding with the preprocessor's result
>> configure: WARNING: com_err.h: in the future, the compiler will take
>> precedence
>> configure: WARNING:     ## ---------------------------------------- ##
>> configure: WARNING:     ## Report this to samba-technical at samba.org ##
>> configure: WARNING:     ## ---------------------------------------- ##
>>
>> Going further, make gives:
>>
>> Compiling lib/talloc/talloc.c
>> In file included from include/includes.h:219,
>>                 from lib/talloc/talloc.c:36:
>> /usr/include/afs/com_err.h:15: error: expected declaration specifiers or
>> '...' before 'afs_int32'
>> /usr/include/afs/com_err.h:16: error: expected declaration specifiers or
>> '...' before 'afs_int32'
>> /usr/include/afs/com_err.h:18: warning: parameter names (without types)
>> in function declaration
>> /usr/include/afs/com_err.h:19: warning: parameter names (without types)
>> in function declaration
>> /usr/include/afs/com_err.h:22: error: expected declaration specifiers or
>> '...' before 'afs_int32'
>> /usr/include/afs/com_err.h:23: error: expected declaration specifiers or
>> '...' before 'afs_int32'
>> /usr/include/afs/com_err.h:24: error: expected declaration specifiers or
>> '...' before 'afs_int32'
>> The following command failed:
>> gcc -I. -I/home/kzsdabas/tmp/samba-3.2.2/source  -O -D_SAMBA_BUILD_=3
>> -I/usr/include/afs
>> -I/home/kzsdabas/tmp/samba-3.2.2/source/iniparser/src -Iinclude
>> -I./include  -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include
>> -I./libaddns -I./librpc -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE
>> -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Iinclude -I./include -I. -I.
>> -I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns
>> -I./librpc -I./popt -I/usr/include/afs -DLDAP_DEPRECATED   -I/include
>> -I/home/kzsdabas/tmp/samba-3.2.2/source/lib -D_SAMBA_BUILD_=3 -fPIC -c
>> lib/talloc/talloc.c -o lib/talloc/talloc.o
>> make: *** [lib/talloc/talloc.o] Error 1
>>
>> Any ideas what needs to get fixed?
>>
>> Thanks in advance
>>
>> Geza
>>
>>
>> _______________________________________________
>> OpenAFS-info mailing list
>> OpenAFS-info at openafs.org
>> https://lists.openafs.org/mailman/listinfo/openafs-info
>>
>>     
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info at openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info
>   



More information about the samba-technical mailing list