Compilation of Cyrus SASL with Globus GSSAPI fails

Artem Harutyunyan hartem at mail.yerphi.am
Tue Feb 21 13:40:05 EST 2006


Hi, 

I am writting an authentication plugin which exploits some functions of
Globus (www.globus.org/toolkit)  implementation of GSSAPI library.
When including "gssapi.h" (from Globus) in the plugin source, compiler 
gives errors (please find them  below). 
The usage of "gssapi.h" outside Cyrus SASL (in separate application) 
doesn't produce any errors. 
I had the similar problem with openssl headers (they conflicted with md5.h) 
and it was resolved by defining MD5_H before including <saslplug.h>.

Any ideas how the problem can be solved ? 
Thanks in advance,
Artem.


PS The version of Cyrus SASL is 2.1.21
PPS The version of gcc is 3.2.3. 

____________________________________________
[ @ cyrus-sasl-2.1.21]$ make
make  all-recursive
make[1]: Entering directory `/home/hartem/SASL/cyrus-sasl-2.1.21'
Making all in include
make[2]: Entering directory `/home/hartem/SASL/cyrus-sasl-2.1.21/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/hartem/SASL/cyrus-sasl-2.1.21/include'
Making all in sasldb
make[2]: Entering directory `/home/hartem/SASL/cyrus-sasl-2.1.21/sasldb'
ar cru .libs/libsasldb.a db_berkeley.o allockey.o
make[2]: Leaving directory `/home/hartem/SASL/cyrus-sasl-2.1.21/sasldb'
Making all in plugins
make[2]: Entering directory `/home/hartem/SASL/cyrus-sasl-2.1.21/plugins'
if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. 
-I../include -I../lib -I../sasldb -I../include  
-I/opt/alien/globus//include/gcc32  -Wall -W -g -O2 -MT aliengssapi.lo -MD 
-MP -MF ".deps/aliengssapi.Tpo" \
  -c -o aliengssapi.lo `test -f 'aliengssapi.c' || echo 
'./'`aliengssapi.c; \
then mv ".deps/aliengssapi.Tpo" ".deps/aliengssapi.Plo"; \
else rm -f ".deps/aliengssapi.Tpo"; exit 1; \
fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../lib -I../sasldb 
-I../include -I/opt/alien/globus//include/gcc32 -Wall -W -g -O2 -MT 
aliengssapi.lo -MD -MP -MF .deps/aliengssapi.Tpo -c aliengssapi.c  -fPIC 
-DPIC -o aliengssapi.lo
In file included from /opt/alien/globus/include/gcc32/globus_common.h:45,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_common_include.h:8:27: 
globus_config.h: No such file or directory
In file included from /opt/alien/globus/include/gcc32/globus_common.h:45,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_common_include.h:191: syntax error 
before "globus_off_t"
/opt/alien/globus/include/gcc32/globus_common_include.h:191: warning: type 
defaults to `int' in declaration of `globus_off_t'
/opt/alien/globus/include/gcc32/globus_common_include.h:191: warning: data 
definition has no type or storage class
In file included from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_common.h:56:10: #include expects 
"FILENAME" or <FILENAME>
In file included from /opt/alien/globus/include/gcc32/globus_common.h:58,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_thread_pool.h:5:10: #include 
expects "FILENAME" or <FILENAME>
In file included from /opt/alien/globus/include/gcc32/globus_common.h:58,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_thread_pool.h:17: syntax error 
before "func"
/opt/alien/globus/include/gcc32/globus_thread_pool.h:21: syntax error 
before '*' token
In file included from /opt/alien/globus/include/gcc32/globus_common.h:61,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_memory.h:22:10: #include expects 
"FILENAME" or <FILENAME>
In file included from /opt/alien/globus/include/gcc32/globus_common.h:64,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_libc.h:12:10: #include expects 
"FILENAME" or <FILENAME>
In file included from /opt/alien/globus/include/gcc32/globus_common.h:64,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_libc.h:26: syntax error before 
"globus_libc_mutex"
/opt/alien/globus/include/gcc32/globus_libc.h:26: warning: type defaults 
to `int' in declaration of `globus_libc_mutex'
/opt/alien/globus/include/gcc32/globus_libc.h:26: warning: data definition 
has no type or storage class
/opt/alien/globus/include/gcc32/globus_libc.h:102: warning: `struct stat' 
declared inside parameter list
/opt/alien/globus/include/gcc32/globus_libc.h:102: warning: its scope is 
only this definition or declaration, which is probably not what you want
/opt/alien/globus/include/gcc32/globus_libc.h:104: syntax error before '*' 
token
/opt/alien/globus/include/gcc32/globus_libc.h:104: warning: type defaults 
to `int' in declaration of `globus_libc_opendir'
/opt/alien/globus/include/gcc32/globus_libc.h:104: warning: data 
definition has no type or storage class
/opt/alien/globus/include/gcc32/globus_libc.h:105: syntax error before '*' 
token
/opt/alien/globus/include/gcc32/globus_libc.h:106: syntax error before '*' 
token
/opt/alien/globus/include/gcc32/globus_libc.h:107: syntax error before '*' 
token
/opt/alien/globus/include/gcc32/globus_libc.h:108: syntax error before '*' 
token
/opt/alien/globus/include/gcc32/globus_libc.h:138: warning: `struct 
passwd' declared inside parameter 
list/opt/alien/globus/include/gcc32/globus_libc.h:142: syntax error before 
'*' token
/opt/alien/globus/include/gcc32/globus_libc.h:201: syntax error before 
"globus_off_t"
/opt/alien/globus/include/gcc32/globus_libc.h:211: syntax error before 
"globus_off_t"
/opt/alien/globus/include/gcc32/globus_libc.h:213: syntax error before 
"globus_off_t"
/opt/alien/globus/include/gcc32/globus_libc.h:236: warning: `struct 
passwd' declared inside parameter listIn file included from 
/opt/alien/globus/include/gcc32/globus_common.h:70,
                 from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:11: syntax error 
before "globus_mutex_t"
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:11: warning: no 
semicolon at end of struct or union
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:12: warning: type 
defaults to `int' in declaration of `key'
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:12: warning: data 
definition has no type or storage class
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:18: syntax error 
before '}' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:18: warning: type 
defaults to `int' in declaration of `globus_rw_mutex_t'
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:18: warning: data 
definition has no type or storage class
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:24: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:29: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:33: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:37: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:41: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:45: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:59: syntax error 
before '*' token
/opt/alien/globus/include/gcc32/globus_thread_rw_mutex.h:64: syntax error 
before '*' token
In file included from /opt/alien/globus/include/gcc32/gssapi.h:33,
                 from aliengssapi.c:46:
/opt/alien/globus/include/gcc32/globus_common.h:119: syntax error before 
"globus_mutex_t"
/opt/alien/globus/include/gcc32/globus_common.h:119: warning: no semicolon 
at end of struct or union
/opt/alien/globus/include/gcc32/globus_common.h:120: warning: type 
defaults to `int' in declaration of `cond'
/opt/alien/globus/include/gcc32/globus_common.h:120: warning: data 
definition has no type or storage 
class/opt/alien/globus/include/gcc32/globus_common.h:122: syntax error 
before '}' token
/opt/alien/globus/include/gcc32/globus_common.h:122: warning: type 
defaults to `int' in declaration of `globus_barrier_t'
/opt/alien/globus/include/gcc32/globus_common.h:122: warning: data 
definition has no type or storage classIn file included from 
/usr/include/sys/uio.h:29,
                 from ../config.h:466,
                 from aliengssapi.c:48:
/usr/include/bits/uio.h:43: redefinition of `struct iovec'
In file included from ../config.h:513,
                 from aliengssapi.c:48:
/usr/include/string.h:42: syntax error before '(' token
/usr/include/string.h:42: syntax error before "void"
/usr/include/string.h:257: conflicting types for `bcopy'
/usr/include/string.h:42: previous declaration of `bcopy'
aliengssapi.c: In function `aliengssapi_server_mech_new':
aliengssapi.c:80: warning: unused parameter `challenge'
aliengssapi.c:81: warning: unused parameter `challen'
aliengssapi.c: In function `aliengssapi_server_mech_step':
aliengssapi.c:125: warning: passing arg 1 of `strcpy' discards qualifiers 
from pointer target type
aliengssapi.c: In function `aliengssapi_server_mech_dispose':
aliengssapi.c:132: warning: unused parameter `conn_context'
aliengssapi.c:133: warning: unused parameter `utils'
aliengssapi.c: In function `aliengssapi_client_mech_new':
aliengssapi.c:213: warning: implicit declaration of function 
`GSS_name_new'
aliengssapi.c:213: warning: assignment makes pointer from integer without 
a cast
aliengssapi.c:215: warning: passing arg 4 of `_plug_get_simple' from 
incompatible pointer type
aliengssapi.c:216: warning: passing arg 4 of `_plug_get_simple' from 
incompatible pointer type
aliengssapi.c:196: warning: unused variable `result'
aliengssapi.c: In function `aliengssapi_client_mech_step':
aliengssapi.c:273: warning: comparison between signed and unsigned
aliengssapi.c:275: warning: assignment of read-only location
aliengssapi.c:280: warning: assignment of read-only location
aliengssapi.c:283: warning: comparison between signed and unsigned
aliengssapi.c:285: warning: assignment of read-only location
aliengssapi.c: In function `aliengssapi_client_mech_dispose':
aliengssapi.c:374: warning: unused parameter `conn_context'
aliengssapi.c:375: warning: unused parameter `utils'
make[2]: *** [aliengssapi.lo] Error 1
make[2]: Leaving directory `/home/hartem/SASL/cyrus-sasl-2.1.21/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/hartem/SASL/cyrus-sasl-2.1.21'
make: *** [all] Error 2
[ @ cyrus-sasl-2.1.21]$




More information about the Cyrus-sasl mailing list