Description of problem: I only selected a component because of Bugzilla's limitation. not sure which component glusterfs is. When building glusterfs on RHEL7 (ppc64le) I had to the following errors: 1) In the glusterfs director, if I use ./configure without any options, I get the following error when I build it: rpcsvc.c: In function 'rpcsvc_callback_build_record': rpcsvc.c:1197:5: error: implicit declaration of function 'xdr_sizeof' [- Werror=implicit-function-declaration] xdr_size = xdr_sizeof((xdrproc_t)xdr_callmsg, &request); This can be worked around by using the following: ./configure --with-ipv6-default It seems to that if you have the option, then it should work with or without the option. 2) On 2 of the three systems I compiled release-6 of gluster I had the following issue: CCLD cloudsyncs3.la .libs/libcloudsyncs3.o: In function `aws_sign_request': glusterfs/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/libcloudsyncs3.c:317: undefined reference to `HMAC_CTX_new' glusterfs/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/libcloudsyncs3.c:326: undefined reference to `HMAC_CTX_free' collect2: error: ld returned 1 exit status This seems to be defined in libssl/libcrypt. Since I built openssl, I check that that pig-config was returning the correct information. I wound up editing the following Makefile: /home/robbaron/glusterfs/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/Makefile and changing: CFLAGS = -g -O2 to: CFLAGS = -g -O2 -lssl -lcrypt -I/usr/local/include/openssl/ -L/usr/local/lib/ Which resolved the linker error. How reproducible: The first problem happened on all three systems. The second problem happened on 2 of the three systems, so is probably less reproducible. Here is the sequence of commands I ran on each of the systems yum groupinstall -y "Development Tools" yum install -y python3 yum install -y libtool perl-core zlib-devel -y yum install -y autoconf automake bison cmockery2-devel dos2unix flex fuse-devel glib2-devel libacl-devel libaio-devel libattr-devel libcurl-devel libibverbs-devel librdmacm-devel libtirpc-devel libtool libxml2-devel lvm2-devel make openssl-devel pkgconfig pyliblzma python-devel python-eventlet python-netifaces python-paste-deploy python-simplejson python-sphinx python-webob pyxattr readline-devel rpm-build sqlite-devel systemtap-sdt-devel tar userspace-rcu-devel yum install -y libuuid libuuid-devel libacl1 libacl libacl-devel libxml2 libxml2-devel yum install -y libibverbs libibverbs-devel readline readline-devel yum install -y libaio libaio-devel yum install -y rh-python36.ppc64le # - OpenSSL cd /home/robbaron git clone https://github.com/openssl/openssl.git cd openssl/ git fetch --all git checkout OpenSSL_1_1_1-stable ./config make make test make install cd .. # - userspace rcu cd /home/robbaron git clone git://git.liburcu.org/userspace-rcu.git cd userspace-rcu/ git fetch --all git checkout stable-0.11 ./bootstrap ./configure make make check make install ldconfig # copy the pc files so that pig-config can find them cp /usr/local/lib/pkgconfig/* /usr/lib64/pkgconfig # - GlusterFS cd /home/robbaron git clone https://github.com/gluster/glusterfs.git cd glusterfs git fetch --all git checkout release-6 autogen.sh ./autogen.sh ./configure --with-ipv6-default make make check make install cd .. systemctl start glusterd systectl status glusterd systemctl status glusterd
Hi Robert, thanks for the report. Consider it is RHEL7, can you check if './configure --without-libtirpc' works for errors in 1? About 2, looks like it is a valid error. Susant, can you please send a patch if Robert's suggestion makes sense?
On RHEL7 and CentOS7 you must use --without-libtirpc to configure and build. Glusterfs-6 is built with python2 on RHEL7 and CentOS7 and uses python2 explicitly at run-time. You can install python3 for other things, but gluster won't use it. You can get userspace-rcu RPMs from the CentOS Storage SIG. (You can get glusterfs packages from there as well.) On a CentOS box you can do `yum -y install centos-release-gluster6` followed by `yum -y install userspace-rcu-devel`
openssl-devel is in RHEL base (rhel-7-server-rpms repo) No need to build from source. You can get userspace-rcu(-devel) from EPEL or the CentOS Storage SIG. (yes, even for ppc64le, see http://mirror.centos.org/altarch/7.6.1810/storage/ppc64le/gluster-6/) But build from source if you wish. Closing as WORKSFORME. Reopen if necessary.