Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use "--without-libtirpc" during configure #191

Closed
wants to merge 1 commit into from
Closed

Use "--without-libtirpc" during configure #191

wants to merge 1 commit into from

Conversation

anoopcs9
Copy link
Contributor

To avoid the following warning, intentionally specify that we are not
using libtirpc.

"libtirpc (and/or ipv6-default) were enabled but libtirpc-devel is not
installed. Disabling libtirpc and ipv6-default and falling back to
legacy glibc rpc headers. This is a transitional warning message.
Eventually it will be an error message."

Signed-off-by: Anoop C S anoopcs@redhat.com

To avoid the following warning, intentionally specify that we are not
using libtirpc.

"libtirpc (and/or ipv6-default) were enabled but libtirpc-devel is not
installed. Disabling libtirpc and ipv6-default and falling back to
legacy glibc rpc headers. This is a transitional warning message.
Eventually it will be an error message."

Signed-off-by: Anoop C S <anoopcs@redhat.com>
@anoopcs9
Copy link
Contributor Author

anoopcs9 commented Apr 16, 2019

Why not, instead, install libtirpc? I mean eventually, we wish to actually use and test IPv6?

IIRC, the current version of libtirpc(in CentOS) fails to compile with GlusterFS sources. I will confirm it once again.

@anoopcs9
Copy link
Contributor Author

Following is the error on CentOS 7(without EPEL repo) while compiling GlusterFS master with libtirpc-devel-0.2.4-0.15.el7.x86_64 installed:

In file included from ../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.h:18:0,
from ../../../../../glusterfs.git/rpc/rpc-lib/src/mgmt-pmap.c:13:
../../../../../glusterfs.git/rpc/xdr/src/glusterfs3.h: In function 'dict_to_xdr':
../../../../../glusterfs.git/rpc/xdr/src/glusterfs3.h:766:5: error: implicit declaration of function 'xdr_sizeof' [-Werror=implicit-function-declaration]
size = xdr_sizeof((xdrproc_t)xdr_gfx_dict, dict);
^
cc1: some warnings being treated as errors
In file included from ../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.h:18:0,
from ../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt-ping.c:11:
../../../../../glusterfs.git/rpc/xdr/src/glusterfs3.h: In function 'dict_to_xdr':
../../../../../glusterfs.git/rpc/xdr/src/glusterfs3.h:766:5: error: implicit declaration of function 'xdr_sizeof' [-Werror=implicit-function-declaration]
size = xdr_sizeof((xdrproc_t)xdr_gfx_dict, dict);
^
In file included from ../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.h:18:0,
from ../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.c:13:
../../../../../glusterfs.git/rpc/xdr/src/glusterfs3.h: In function 'dict_to_xdr':
../../../../../glusterfs.git/rpc/xdr/src/glusterfs3.h:766:5: error: implicit declaration of function 'xdr_sizeof' [-Werror=implicit-function-declaration]
size = xdr_sizeof((xdrproc_t)xdr_gfx_dict, dict);
^
../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.c: In function 'rpc_clnt_new':
../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.c:1099:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
GF_ATOMIC_INIT(rpc->xid, 1);
^
../../../../../glusterfs.git/rpc/rpc-lib/src/rpc-clnt.c:1099:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
../../../../../glusterfs.git/rpc/rpc-lib/src/rpcsvc.c: In function 'rpcsvc_callback_build_record':
../../../../../glusterfs.git/rpc/rpc-lib/src/rpcsvc.c:1201:5: error: implicit declaration of function 'xdr_sizeof' [-Werror=implicit-function-declaration]
xdr_size = xdr_sizeof((xdrproc_t)xdr_callmsg, &request);
^
make[4]: *** [rpc-clnt-ping.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [mgmt-pmap.lo] Error 1
cc1: some warnings being treated as errors
make[4]: *** [rpc-clnt.lo] Error 1
make[4]: *** [rpcsvc.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

@mykaul
Copy link

mykaul commented Apr 17, 2019

So do we need to enable EPEL, or bring the packages to the CentOS storage sig repos?
@nixpanic ?

@nixpanic
Copy link
Member

There are some functions missing/different in TIRPC compared to glibc/rpc. This could probably get resolved somehow, but we opted for not using libtirpc on CentOS <= 7.

From https://github.com/gluster/glusterfs/blob/master/glusterfs.spec.in#L70 :

# Do not use libtirpc on EL6, it does not have xdr_uint64_t() and xdr_uint32_t
# Do not use libtirpc on EL7, it does not have xdr_sizeof()
%if ( 0%{?rhel} && 0%{?rhel} <= 7 )
%global _without_libtirpc --without-libtirpc
%endif

@mykaul
Copy link

mykaul commented Apr 20, 2019

Should we look at moving to https://github.com/linuxbox2/ntirpc ?
It doesn't provide xdr_sizeof() either - perhaps we need to look at a replacement.

@anoopcs9
Copy link
Contributor Author

Change is no longer relevant.

@anoopcs9 anoopcs9 closed this Mar 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants