Bug 1429696
Summary: | ldd libgfxdr.so.0.0.1: undefined symbol: __gf_free | |||
---|---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Vitaly Lipatov <lav> | |
Component: | build | Assignee: | Kaleb KEITHLEY <kkeithle> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | ||
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | mainline | CC: | bugs, ndevos | |
Target Milestone: | --- | Keywords: | Triaged | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | glusterfs-3.11.0 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1430512 (view as bug list) | Environment: | ||
Last Closed: | 2017-05-30 18:46:48 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1430512 |
Description
Vitaly Lipatov
2017-03-06 21:53:21 UTC
Related mail discussion: http://lists.gluster.org/pipermail/gluster-devel/2016-September/050911.html 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/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#2) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#3) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#4) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#5) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#6) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#7) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#8) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: https://review.gluster.org/16873 (build: libgfxdr.so calls GF_FREE(), needs to link with -lglusterfs) posted (#9) for review on master by Kaleb KEITHLEY (kkeithle) COMMIT: https://review.gluster.org/16873 committed in master by Niels de Vos (ndevos) ------ commit f21fd308fcfab6151e7c8f60642d8dfcbec0cc48 Author: Kaleb S. KEITHLEY <kkeithle> Date: Wed Mar 8 14:44:50 2017 -0500 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 or 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 the other things 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 Change-Id: Iede8a30e3103176cb8f0b054885f30fcb352492b BUG: 1429696 Signed-off-by: Kaleb S. KEITHLEY <kkeithle> Reviewed-on: https://review.gluster.org/16873 NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Smoke: Gluster Build System <jenkins.org> Reviewed-by: Niels de Vos <ndevos> REVIEW: https://review.gluster.org/16941 (build: errors generating xdr stubs+headers with `make -j`) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle) COMMIT: https://review.gluster.org/16941 committed in master by Niels de Vos (ndevos) ------ commit b96da537f60d75f896973c9f61007baec42fcf17 Author: Kaleb S. KEITHLEY <kkeithle> Date: Fri Mar 24 08:32:39 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. Change-Id: I006066f0e7c3f8b65189f97c70089f3422e3e08b BUG: 1429696 Signed-off-by: Kaleb S. KEITHLEY <kkeithle> Reviewed-on: https://review.gluster.org/16941 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Niels de Vos <ndevos> Tested-by: Anoop C S <anoopcs> REVIEW: https://review.gluster.org/16954 (build: errors generating xdr stubs+headers with `make -j`) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle) COMMIT: https://review.gluster.org/16954 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 57341d25db8b16e8a1fc7d40f6f56b5200f3547d Author: Kaleb S. KEITHLEY <kkeithle> Date: Mon Mar 27 08:35:51 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. BUG: 1429696 Change-Id: Icca2de035255a7759563bf06d853950dddc5724d Signed-off-by: Kaleb S. KEITHLEY <kkeithle> Reviewed-on: https://review.gluster.org/16954 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Niels de Vos <ndevos> REVIEW: https://review.gluster.org/16969 (build: add copied .x files to .gitignore) posted (#1) for review on master by Niels de Vos (ndevos) COMMIT: https://review.gluster.org/16969 committed in master by Niels de Vos (ndevos) ------ commit ed89f3ef064b6100bb0731f2493d915f6fb141c3 Author: Niels de Vos <ndevos> Date: Thu Mar 30 11:45:43 2017 +0200 build: add copied .x files to .gitignore The new rpc/xdr/gen/ directiry contains copies of the .x files from rpc/xdr/src/. This is needed to generate the headers for the cyclic dependency for libglusterfs <-> rpc. These files should never be included in the git repository, so adding them to .gitignore. BUG: 1429696 Change-Id: Ia9dd104853e2dbde49b368169dc15c465dff0323 Signed-off-by: Niels de Vos <ndevos> Reviewed-on: https://review.gluster.org/16969 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Kaleb KEITHLEY <kkeithle> Unfortunately this needs and other follow-up. REVIEW: https://review.gluster.org/16994 (build: place generated XDR .h and .c files under $(top_builddir)) posted (#1) for review on master by Niels de Vos (ndevos) REVIEW: https://review.gluster.org/16994 (build: place generated XDR .h and .c files under $(top_builddir)) posted (#2) for review on master by Niels de Vos (ndevos) COMMIT: https://review.gluster.org/16994 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 7a49a4a6e3e2224afea7a961fbee9a460b9d58a0 Author: Niels de Vos <ndevos> Date: Tue Apr 4 12:55:27 2017 +0200 build: place generated XDR .h and .c files under $(top_builddir) Change-Id: I0487337223a54a52e73088cb6dd812ce6d47178d BUG: 1429696 Signed-off-by: Niels de Vos <ndevos> Reviewed-on: https://review.gluster.org/16994 Smoke: Gluster Build System <jenkins.org> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Zhou Zhengping <johnzzpcrystal> Tested-by: Zhou Zhengping <johnzzpcrystal> Reviewed-by: Kaleb KEITHLEY <kkeithle> 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.11.0, please open a new bug report. glusterfs-3.11.0 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/announce/2017-May/000073.html [2] https://www.gluster.org/pipermail/gluster-users/ |