[Bugs] [Bug 1662178] New: Compilation fails for xlators/mgmt/glusterd/src with error "undefined reference to `dlclose'"
bugzilla at redhat.com
bugzilla at redhat.com
Wed Dec 26 19:13:35 UTC 2018
https://bugzilla.redhat.com/show_bug.cgi?id=1662178
Bug ID: 1662178
Summary: Compilation fails for xlators/mgmt/glusterd/src with
error "undefined reference to `dlclose'"
Product: GlusterFS
Version: 5
OS: Linux
Status: NEW
Component: glusterd
Severity: high
Assignee: bugs at gluster.org
Reporter: vnosov at stonefly.com
CC: bugs at gluster.org
Target Milestone: ---
Classification: Community
Description of problem:
During GlusterFS 5.2 installation command "make" fails to find reference to
"dlclose". Result is failure to install.
Version-Release number of selected component (if applicable):
File "glusterfs-5.2.tar.gz" was used for installation on Centos 6 virtual
system that runs kernel version 2.6.32-696 on Azure.
How reproducible: any time
Steps to Reproduce:
1. Run ./autogen.sh.
2. Run ./configure --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu
--program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin
--sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share
--includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec
--localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --without-tmpfilesdir --disable-syslog --enable-gnfs
GlusterFS configure summary
===========================
FUSE client : yes
Infiniband verbs : yes
epoll IO multiplex : yes
fusermount : yes
readline : yes
georeplication : yes
Linux-AIO : yes
Enable Debug : no
Enable ASAN : no
Block Device xlator : yes
glupy : yes
Use syslog : no
XML output : yes
Encryption xlator : yes
Unit Tests : no
Track priv ports : yes
POSIX ACLs : yes
Data Classification : yes
SELinux features : yes
firewalld-config : no
Events : yes
EC dynamic support : x64 sse avx
Use memory pools : yes
Nanosecond m/atimes : yes
Server components : yes
Legacy gNFS server : yes
IPV6 default : no
Use TIRPC : missing
With Python : 2.6
Cloudsync : yes
3. Failure could be reproduced by doing the next:
Go to the directory:
[root at VN-SC-2 src]# pwd
./xlators/mgmt/glusterd/src
Run:
[root at VN-SC-2 src]# make clean
test -z "" || rm -f
rm -rf .libs _libs
test -z "glusterd.la" || rm -f glusterd.la
rm -f "./so_locations"
rm -f *.o
rm -f *.lo
Run "make":
Actual results:
[root at VN-SC-2 src]# make
CC glusterd_la-glusterd.lo
CC glusterd_la-glusterd-handler.lo
CC glusterd_la-glusterd-sm.lo
CC glusterd_la-glusterd-op-sm.lo
CC glusterd_la-glusterd-utils.lo
CC glusterd_la-glusterd-rpc-ops.lo
CC glusterd_la-glusterd-store.lo
CC glusterd_la-glusterd-handshake.lo
CC glusterd_la-glusterd-pmap.lo
CC glusterd_la-glusterd-volgen.lo
CC glusterd_la-glusterd-rebalance.lo
CC glusterd_la-glusterd-quota.lo
CC glusterd_la-glusterd-bitrot.lo
CC glusterd_la-glusterd-geo-rep.lo
CC glusterd_la-glusterd-replace-brick.lo
CC glusterd_la-glusterd-log-ops.lo
CC glusterd_la-glusterd-tier.lo
CC glusterd_la-glusterd-volume-ops.lo
CC glusterd_la-glusterd-brick-ops.lo
CC glusterd_la-glusterd-mountbroker.lo
CC glusterd_la-glusterd-syncop.lo
CC glusterd_la-glusterd-hooks.lo
CC glusterd_la-glusterd-volume-set.lo
CC glusterd_la-glusterd-locks.lo
CC glusterd_la-glusterd-snapshot.lo
CC glusterd_la-glusterd-mgmt-handler.lo
CC glusterd_la-glusterd-mgmt.lo
CC glusterd_la-glusterd-peer-utils.lo
CC glusterd_la-glusterd-statedump.lo
CC glusterd_la-glusterd-snapshot-utils.lo
CC glusterd_la-glusterd-conn-mgmt.lo
CC glusterd_la-glusterd-proc-mgmt.lo
CC glusterd_la-glusterd-svc-mgmt.lo
CC glusterd_la-glusterd-shd-svc.lo
CC glusterd_la-glusterd-nfs-svc.lo
CC glusterd_la-glusterd-quotad-svc.lo
CC glusterd_la-glusterd-svc-helper.lo
CC glusterd_la-glusterd-conn-helper.lo
CC glusterd_la-glusterd-snapd-svc.lo
CC glusterd_la-glusterd-snapd-svc-helper.lo
CC glusterd_la-glusterd-bitd-svc.lo
CC glusterd_la-glusterd-scrub-svc.lo
CC glusterd_la-glusterd-server-quorum.lo
CC glusterd_la-glusterd-reset-brick.lo
CC glusterd_la-glusterd-tierd-svc.lo
CC glusterd_la-glusterd-tierd-svc-helper.lo
CC glusterd_la-glusterd-gfproxyd-svc.lo
CC glusterd_la-glusterd-gfproxyd-svc-helper.lo
CCLD glusterd.la
.libs/glusterd_la-glusterd-utils.o: In function `glusterd_get_volopt_content':
/home/col/glusterfs-5.2/xlators/mgmt/glusterd/src/glusterd-utils.c:13417:
undefined reference to `dlclose'
.libs/glusterd_la-glusterd-utils.o: In function
`glusterd_get_value_for_vme_entry':
/home/col/glusterfs-5.2/xlators/mgmt/glusterd/src/glusterd-utils.c:12984:
undefined reference to `dlclose'
.libs/glusterd_la-glusterd-volgen.o: In function `_gd_get_option_type':
/home/col/glusterfs-5.2/xlators/mgmt/glusterd/src/glusterd-volgen.c:7009:
undefined reference to `dlclose'
.libs/glusterd_la-glusterd-quota.o: In function
`_glusterd_validate_quota_opts':
/home/col/glusterfs-5.2/xlators/mgmt/glusterd/src/glusterd-quota.c:1943:
undefined reference to `dlclose'
collect2: ld returned 1 exit status
make: *** [glusterd.la] Error 1
Expected results: should be no failures.
Additional info:
It seems linker flag "-ldl" is not used by make. We put flag "-ldl" into
command that is called by "make" and result was success:
[root at VN-SC-2 src]# /bin/sh ../../../../libtool --silent --tag=CC --mode=link
gcc -Wall -g -O2 -g -rdynamic -Wformat -Werror=format-security
-Werror=implicit-function-declaration -I/usr/include/libxml2 -g -O2 -g
-rdynamic -Wformat -Werror=format-security
-Werror=implicit-function-declaration -module -avoid-version -export-symbols
../../../../xlators/xlator.sym -luuid -Wl,--no-undefined -o glusterd.la
-rpath /usr/lib64/glusterfs/5.2/xlator/mgmt glusterd_la-glusterd.lo
glusterd_la-glusterd-handler.lo glusterd_la-glusterd-sm.lo
glusterd_la-glusterd-op-sm.lo glusterd_la-glusterd-utils.lo
glusterd_la-glusterd-rpc-ops.lo glusterd_la-glusterd-store.lo
glusterd_la-glusterd-handshake.lo glusterd_la-glusterd-pmap.lo
glusterd_la-glusterd-volgen.lo glusterd_la-glusterd-rebalance.lo
glusterd_la-glusterd-quota.lo glusterd_la-glusterd-bitrot.lo
glusterd_la-glusterd-geo-rep.lo glusterd_la-glusterd-replace-brick.lo
glusterd_la-glusterd-log-ops.lo glusterd_la-glusterd-tier.lo
glusterd_la-glusterd-volume-ops.lo glusterd_la-glusterd-brick-ops.lo
glusterd_la-glusterd-mountbroker.lo glusterd_la-glusterd-syncop.lo
glusterd_la-glusterd-hooks.lo glusterd_la-glusterd-volume-set.lo
glusterd_la-glusterd-locks.lo glusterd_la-glusterd-snapshot.lo
glusterd_la-glusterd-mgmt-handler.lo glusterd_la-glusterd-mgmt.lo
glusterd_la-glusterd-peer-utils.lo glusterd_la-glusterd-statedump.lo
glusterd_la-glusterd-snapshot-utils.lo glusterd_la-glusterd-conn-mgmt.lo
glusterd_la-glusterd-proc-mgmt.lo glusterd_la-glusterd-svc-mgmt.lo
glusterd_la-glusterd-shd-svc.lo glusterd_la-glusterd-nfs-svc.lo
glusterd_la-glusterd-quotad-svc.lo glusterd_la-glusterd-svc-helper.lo
glusterd_la-glusterd-conn-helper.lo glusterd_la-glusterd-snapd-svc.lo
glusterd_la-glusterd-snapd-svc-helper.lo glusterd_la-glusterd-bitd-svc.lo
glusterd_la-glusterd-scrub-svc.lo glusterd_la-glusterd-server-quorum.lo
glusterd_la-glusterd-reset-brick.lo glusterd_la-glusterd-tierd-svc.lo
glusterd_la-glusterd-tierd-svc-helper.lo glusterd_la-glusterd-gfproxyd-svc.lo
glusterd_la-glusterd-gfproxyd-svc-helper.lo
../../../../libglusterfs/src/libglusterfs.la
../../../../rpc/xdr/src/libgfxdr.la ../../../../rpc/rpc-lib/src/libgfrpc.la
-lxml2 -lcrypto -lurcu-bp -lurcu-cds -llvm2app -lrt -lpthread -lcrypto -ldl
[root at VN-SC-2 src]# make
make: Nothing to be done for `all'.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list