#131 Doesn't build without SELinux
Closed: Fixed Opened by grawity.

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]:

Does the attchaed patch fix your issue ?

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)

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.)

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

Metadata