Even though I've added the "--without-selinux" option, I still get build errors:
In file included from src/gp_proxy.h:34:0, from src/gp_config.c:31: src/gp_selinux.h: In function ‘SELINUX_context_dummy_get’: src/gp_selinux.h:53:1: error: parameter name omitted const char *SELINUX_context_dummy_get(void *) { return NULL; } ^ In file included from src/gp_proxy.h:34:0, from src/gp_config_iniparser.c:32: src/gp_selinux.h: In function ‘SELINUX_context_dummy_get’: src/gp_selinux.h:53:1: error: parameter name omitted const char *SELINUX_context_dummy_get(void *) { return NULL; } ^ Makefile:1233: recipe for target 'src/gp_config_iniparser.o' failed make[2]: *** [src/gp_config_iniparser.o] Error 1 make[2]: *** Waiting for unfinished jobs.... Makefile:1233: recipe for target 'src/gp_config.o' failed make[2]: *** [src/gp_config.o] Error 1 In file included from src/gp_proxy.h:34:0, from src/gp_config_dinglibs.c:32: src/gp_selinux.h: In function ‘SELINUX_context_dummy_get’: src/gp_selinux.h:53:1: error: parameter name omitted const char *SELINUX_context_dummy_get(void *) { return NULL; } ^ Makefile:1233: recipe for target 'src/gp_config_dinglibs.o' failed make[2]: *** [src/gp_config_dinglibs.o] Error 1
Does the attchaed patch fix your issue ?
Replying to [comment:1 simo]:
It gets rid of those errors, but now I'm hitting new ones:
gcc -DHAVE_CONFIG_H -I. -Wall -Iinclude -I.. -I./include -I. -Iinclude -I. -DLIBDIR=\"/usr/lib\" -DVARDIR=\"/usr/var\" -DSHLIBEXT=\"\" -DSYSCONFDIR=\"/etc\" -DLOCALEDIR=\"/usr/share/locale\" -D_FORTIFY_SOURCE=2 -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-error -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -MT src/gssproxy.o -MD -MP -MF $depbase.Tpo -c -o src/gssproxy.o src/gssproxy.c &&\ mv -f $depbase.Tpo $depbase.Po /bin/sh ./libtool --tag=CC --mode=link gcc -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-error -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wl,-O1,--sort-common,--as-needed,-z,relro -o gssproxy src/gp_config.o src/gp_config_iniparser.o src/gp_config_dinglibs.o src/gp_init.o src/gp_socket.o src/gp_workers.o src/gp_creds.o rpcgen/gp_rpc_xdr.o rpcgen/gss_proxy_xdr.o rpcgen/gp_xdr.o src/gp_rpc_process.o src/gp_conv.o src/gp_export.o src/gp_debug.o src/gp_log.o src/gp_util.o src/gp_rpc_accept_sec_context.o src/gp_rpc_release_handle.o src/gp_rpc_acquire_cred.o src/gp_rpc_indicate_mechs.o src/gp_rpc_import_and_canon_name.o src/gp_rpc_init_sec_context.o src/gp_rpc_get_mic.o src/gp_rpc_verify_mic.o src/gp_rpc_wrap.o src/gp_rpc_unwrap.o src/gp_rpc_wrap_size_limit.o src/gssproxy.o -lpopt -lkrb5 -lk5crypto -lcom_err -lverto -lini_config -lbasicobjects -lref_array -lcollection -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgssrpc -lgssrpc -lgssapi_krb5 -lgssapi_krb5 -pthread -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-error -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE libtool: link: gcc -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-error -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -o gssproxy src/gp_config.o src/gp_config_iniparser.o src/gp_config_dinglibs.o src/gp_init.o src/gp_socket.o src/gp_workers.o src/gp_creds.o rpcgen/gp_rpc_xdr.o rpcgen/gss_proxy_xdr.o rpcgen/gp_xdr.o src/gp_rpc_process.o src/gp_conv.o src/gp_export.o src/gp_debug.o src/gp_log.o src/gp_util.o src/gp_rpc_accept_sec_context.o src/gp_rpc_release_handle.o src/gp_rpc_acquire_cred.o src/gp_rpc_indicate_mechs.o src/gp_rpc_import_and_canon_name.o src/gp_rpc_init_sec_context.o src/gp_rpc_get_mic.o src/gp_rpc_verify_mic.o src/gp_rpc_wrap.o src/gp_rpc_unwrap.o src/gp_rpc_wrap_size_limit.o src/gssproxy.o -pthread -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-error -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -lpopt -lverto -lini_config -lbasicobjects -lref_array -lcollection -lkrb5 -lk5crypto -lcom_err -lgssrpc -lgssapi_krb5 -pthread src/gp_config_iniparser.o: In function `SELINUX_context_new': gp_config_iniparser.c:(.text+0x0): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_config_iniparser.o: In function `SELINUX_context_dummy_get': gp_config_iniparser.c:(.text+0x10): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_config_iniparser.o: In function `SELINUX_getpeercon': gp_config_iniparser.c:(.text+0x20): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_config_dinglibs.o: In function `SELINUX_context_new': gp_config_dinglibs.c:(.text+0x0): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_config_dinglibs.o: In function `SELINUX_context_dummy_get': gp_config_dinglibs.c:(.text+0x10): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_config_dinglibs.o: In function `SELINUX_getpeercon': gp_config_dinglibs.c:(.text+0x20): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_init.o: In function `SELINUX_context_new': gp_init.c:(.text+0x70): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_init.o: In function `SELINUX_context_dummy_get': gp_init.c:(.text+0x80): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_init.o: In function `SELINUX_getpeercon': gp_init.c:(.text+0x90): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_socket.o: In function `SELINUX_context_new': gp_socket.c:(.text+0x80): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_socket.o: In function `SELINUX_context_dummy_get': gp_socket.c:(.text+0x90): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_socket.o: In function `SELINUX_getpeercon': gp_socket.c:(.text+0xa0): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_workers.o: In function `SELINUX_context_new': gp_workers.c:(.text+0x3d0): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_workers.o: In function `SELINUX_context_dummy_get': gp_workers.c:(.text+0x3e0): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_workers.o: In function `SELINUX_getpeercon': gp_workers.c:(.text+0x3f0): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_creds.o: In function `SELINUX_context_new': gp_creds.c:(.text+0x80): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_creds.o: In function `SELINUX_context_dummy_get': gp_creds.c:(.text+0x90): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_creds.o: In function `SELINUX_getpeercon': gp_creds.c:(.text+0xa0): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_rpc_process.o: In function `SELINUX_context_new': gp_rpc_process.c:(.text+0x150): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_rpc_process.o: In function `SELINUX_context_dummy_get': gp_rpc_process.c:(.text+0x160): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_rpc_process.o: In function `SELINUX_getpeercon': gp_rpc_process.c:(.text+0x170): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gp_export.o: In function `SELINUX_context_new': gp_export.c:(.text+0x0): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gp_export.o: In function `SELINUX_context_dummy_get': gp_export.c:(.text+0x10): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gp_export.o: In function `SELINUX_getpeercon': gp_export.c:(.text+0x20): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here src/gssproxy.o: In function `SELINUX_context_new': gssproxy.c:(.text+0x0): multiple definition of `SELINUX_context_new' src/gp_config.o:gp_config.c:(.text+0x270): first defined here src/gssproxy.o: In function `SELINUX_context_dummy_get': gssproxy.c:(.text+0x10): multiple definition of `SELINUX_context_dummy_get' src/gp_config.o:gp_config.c:(.text+0x280): first defined here src/gssproxy.o: In function `SELINUX_getpeercon': gssproxy.c:(.text+0x20): multiple definition of `SELINUX_getpeercon' src/gp_config.o:gp_config.c:(.text+0x290): first defined here collect2: error: ld returned 1 exit status Makefile:1098: recipe for target 'gssproxy' failed make[2]: *** [gssproxy] Error 1 make[2]: Leaving directory '/home/grawity/pkg/my-aur/gss-proxy/src/gssproxy-0.3.1' Makefile:1528: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/grawity/pkg/my-aur/gss-proxy/src/gssproxy-0.3.1' Makefile:731: recipe for target 'all' failed make: *** [all] Error 2
(in case it's a problem with the build env: gcc 4.9.2+20141224, ld 2.25, standard Arch Linux cflags, ding-libs 0.4.0, iniparser 3.1)
New and better patch 0001-Fix-error-in-compiling-without-SELinux.patch
My bad, I attached a new patch thatr should solve all cases. I tested a build locally making sure to disable HAVE_SELINUX this time :-) and I see no more build errors. Please let me know if this checks out on Arch too.
Yes, now it builds fine. (Though still some non-SELinux-related glitches.)
Fixed in 59bb1a5
Metadata Update from @grawity: - Issue assigned to simo - Issue set to the milestone: 2015 March
Commit 33e15bc4 fixes this issue
Commit 59bb1a55 fixes this issue