[kudu-CR] thirdparty: fix up libtool scripts if needed
Adar Dembo has submitted this change and it was merged. Change subject: thirdparty: fix up libtool scripts if needed .. thirdparty: fix up libtool scripts if needed Older versions of libtool (such as the version found on el6) do not pass -stdlib=libc++ found in CXXFLAGS down to the libtool link command line, and as a result, the shared object is linked against the system libstdc++. The net effect is that some thirdparty shared objects sprout @@GLIBCXX dependencies. Mysteriously, Kudu libraries and binaries themselves do not, and the @@GLIBCXX dependencies appear to be satisfied via libc++ somehow. Nevertheless, this is confusing and could prove problematic down the road, so here's a quick hack to "fix up" libtool scripts after they are generated via configure. Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Reviewed-on: http://gerrit.cloudera.org:8080/4512 Reviewed-by: Dan BurkertTested-by: Dan Burkert --- M thirdparty/build-definitions.sh M thirdparty/build-thirdparty.sh A thirdparty/postflight.py 3 files changed, 136 insertions(+), 0 deletions(-) Approvals: Dan Burkert: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] thirdparty: fix up libtool scripts if needed
Dan Burkert has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 5: Code-Review+2 Verified+1 -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Dan Burkert has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 4: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Dan Burkert has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 3: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Hello Dan Burkert, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4512 to look at the new patch set (#3). Change subject: thirdparty: fix up libtool scripts if needed .. thirdparty: fix up libtool scripts if needed Older versions of libtool (such as the version found on el6) do not pass -stdlib=libc++ found in CXXFLAGS down to the libtool link command line, and as a result, the shared object is linked against the system libstdc++. The net effect is that some thirdparty shared objects sprout @@GLIBCXX dependencies. Mysteriously, Kudu libraries and binaries themselves do not, and the @@GLIBCXX dependencies appear to be satisfied via libc++ somehow. Nevertheless, this is confusing and could prove problematic down the road, so here's a quick hack to "fix up" libtool scripts after they are generated via configure. Change-Id: Id51c10d38984e892496621135634d21f3e2386ce --- M thirdparty/build-definitions.sh M thirdparty/build-thirdparty.sh A thirdparty/postflight.py 3 files changed, 131 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/12/4512/3 -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] thirdparty: fix up libtool scripts if needed
Adar Dembo has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/4512/2/thirdparty/build-thirdparty.sh File thirdparty/build-thirdparty.sh: Line 383: $TP_DIR/postflight.py > This should be in the above if block, I think. It will certainly always fa Well, the goal was to be generic enough to run all the time. I think we can achieve that if the TSAN dependency check is reordered so that the check for the installed/tsan/lib precedes the check for ldd. I'll do that. -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Dan Burkert has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/4512/2/thirdparty/build-thirdparty.sh File thirdparty/build-thirdparty.sh: Line 383: $TP_DIR/postflight.py This should be in the above if block, I think. It will certainly always fail on OS X, since there is no ldd or tsan. I think it may also fail if you do a "./build-thirdparty.sh uninstrumented" on a clean checkout. -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Hello Dan Burkert, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4512 to look at the new patch set (#2). Change subject: thirdparty: fix up libtool scripts if needed .. thirdparty: fix up libtool scripts if needed Older versions of libtool (such as the version found on el6) do not pass -stdlib=libc++ found in CXXFLAGS down to the libtool link command line, and as a result, the shared object is linked against the system libstdc++. The net effect is that some thirdparty shared objects sprout @@GLIBCXX dependencies. Mysteriously, Kudu libraries and binaries themselves do not, and the @@GLIBCXX dependencies appear to be satisfied via libc++ somehow. Nevertheless, this is confusing and could prove problematic down the road, so here's a quick hack to "fix up" libtool scripts after they are generated via configure. Change-Id: Id51c10d38984e892496621135634d21f3e2386ce --- M thirdparty/build-definitions.sh M thirdparty/build-thirdparty.sh A thirdparty/postflight.py 3 files changed, 131 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/12/4512/2 -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] thirdparty: fix up libtool scripts if needed
Adar Dembo has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/4512/1//COMMIT_MSG Commit Message: Line 14: and the @@GLIBCXX dependencies appear to be satisfied via libc++ somehow. > definitely a little gross. How did you discover these dependencies so that I was running ldd manually against shared objects in installed-deps-tsan/lib and was surprised to see ones that depended on both libc++ and libstdc++, and ones that only depended on libstdc++. Then I used nm to reveal the @@GLIBCXX symbol annotations. I'll add a "postflight" script to run tests like these. http://gerrit.cloudera.org:8080/#/c/4512/1/thirdparty/build-definitions.sh File thirdparty/build-definitions.sh: PS1, Line 83: sed -e ':loop' \ : -e 's/\(postdeps=.*\)\(-lstdc++\)/\1-lc++/' \ : -e 't loop' libtool > libtool.new : > how about just using sed's regexp matching support, and also its backup fil Sure, will do. -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Todd Lipcon has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/4512/1//COMMIT_MSG Commit Message: Line 14: and the @@GLIBCXX dependencies appear to be satisfied via libc++ somehow. definitely a little gross. How did you discover these dependencies so that this doesn't regress down the road if we add a new dependency? http://gerrit.cloudera.org:8080/#/c/4512/1/thirdparty/build-definitions.sh File thirdparty/build-definitions.sh: PS1, Line 83: sed -e ':loop' \ : -e 's/\(postdeps=.*\)\(-lstdc++\)/\1-lc++/' \ : -e 't loop' libtool > libtool.new : how about just using sed's regexp matching support, and also its backup file supprt? sed -i.before_fixup -e '/postdeps=/s/-lstdc++/-lc++/' libtool -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Dan Burkert has posted comments on this change. Change subject: thirdparty: fix up libtool scripts if needed .. Patch Set 1: Code-Review+1 Yikes. +1 in case Todd has any better ideas. -- To view, visit http://gerrit.cloudera.org:8080/4512 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar DemboGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No