+++ This bug was initially created as a clone of Bug #1429696 +++ From bug 1330604 > Note 2. Why is/was libgfxdr.so (.../rpc/xdr/src/...) linked with > libglusterfs? A cut-and-paste mistake? It has no references to > symbols in libglusterfs. You was wrong with it. There are GF_FREE calls (__gf_free function from libglusterfs really).. So I get /usr/lib64/libgfxdr.so.0.0.1: undefined symbol: __gf_free after build. If it is true that libgfxdr does not use libglusterfs, why it use its headers? --- Additional comment from Saravanakumar on 2017-03-07 07:20:46 EST --- Related mail discussion: http://lists.gluster.org/pipermail/gluster-devel/2016-September/050911.html --- Additional comment from Worker Ant on 2017-03-08 15:00:10 EST --- REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle)
REVIEW: https://review.gluster.org/16874 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#1) for review on release-3.10 by Kaleb KEITHLEY (kkeithle)
REVIEW: https://review.gluster.org/16874 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#2) for review on release-3.10 by Kaleb KEITHLEY (kkeithle)
COMMIT: https://review.gluster.org/16874 committed in release-3.10 by Kaleb KEITHLEY (kkeithle) ------ commit c986f10adfbc5d4f728ea84640cc1c81532105ae Author: Kaleb S. KEITHLEY <kkeithle> Date: Wed Mar 8 15:04:50 2017 -0500 build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs The previous change to remove the xdrgen script exposed (or created) a recursive build dependency: libglusterfs needs the generated headers, and libgfxdr should be linked with libglusterfs for GF_FREE/__gf_free. (Much grumbling about libglusterfs being the kitchen sink of gluster elided. This would not be necessary if there were two more more libs, a gluster "runtime" library with common gluster code shared by the xlators and daemons, and a utility library with things like the rbtree, memory allocation, and whatnot.) So. Link at build time or link at runtime? For truth-and-beauty, link with libglusterfs.so at build time. Without truth-and-beauty, don't link with libglusterfs and rely on other the libs that link with libglusterfs to provide resolution of __gf_free(). Truth-and-beauty it is. But how to generate the headers first, then build libglusterfs, then come back and build libgfxdr? Autotools is a maze of twisty passages, all different. Things that work with gnu make on linux don't work with the BSD make. Finally I hit on this solution. Add a shadow directory where make only generates the headers, then build libglusterfs using the generated headers, and finally build libgfxdr and link with libglusterfs. See original BZ 1330604 change http://review.gluster.org/14085 master BZ 1429696 master change: https://review.gluster.org/#/c/16873/ Change-Id: Iede8a30e3103176cb8f0b054885f30fcb352492b BUG: 1430512 Signed-off-by: Kaleb S. KEITHLEY <kkeithle> Reviewed-on: https://review.gluster.org/16874 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org>
REVIEW: https://review.gluster.org/16942 (build: errors generating xdr stubs+headers with `make -j`) posted (#1) for review on release-3.10 by Kaleb KEITHLEY (kkeithle)
REVIEW: https://review.gluster.org/16942 (build: errors generating xdr stubs+headers with `make -j`) posted (#2) for review on release-3.10 by Kaleb KEITHLEY (kkeithle)
COMMIT: https://review.gluster.org/16942 committed in release-3.10 by Shyamsundar Ranganathan (srangana) ------ commit e43e818c902a27a9760311b4b8ba6303b34ec2b0 Author: Kaleb S. KEITHLEY <kkeithle> Date: Fri Mar 24 08:40:00 2017 -0400 build: errors generating xdr stubs+headers with `make -j` Using a makebomb, on f23 at least, blows up when generating the xdr headers and stubs. (Works reliably on f25 though, go figure.) This change appears to mitigate the race on f23. Master change https://review.gluster.org/16941 Master BZ: 1429696 Change-Id: I006066f0e7c3f8b65189f97c70089f3422e3e08b BUG: 1430512 Signed-off-by: Kaleb S. KEITHLEY <kkeithle> Reviewed-on: https://review.gluster.org/16942 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Shyamsundar Ranganathan <srangana>
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.10.1, please open a new bug report. glusterfs-3.10.1 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://lists.gluster.org/pipermail/gluster-users/2017-April/030494.html [2] https://www.gluster.org/pipermail/gluster-users/