You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Adar Dembo (Code Review)" <ge...@cloudera.org> on 2016/09/22 03:07:45 UTC
[kudu-CR] thirdparty: fix up libtool scripts if needed
Hello Dan Burkert, Todd Lipcon,
I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/4512
to review the following change.
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
1 file changed, 44 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/12/4512/1
--
To view, visit http://gerrit.cloudera.org:8080/4512
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id51c10d38984e892496621135634d21f3e2386ce
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Todd Lipcon (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Dan Burkert (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Dan Burkert (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Dan Burkert (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Dan Burkert (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Dan Burkert (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: No
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
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 (#4).
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, 136 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/12/4512/4
--
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: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
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 Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>
Gerrit-HasComments: Yes
[kudu-CR] thirdparty: fix up libtool scripts if needed
Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
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 Burkert <da...@cloudera.com>
Tested-by: Dan Burkert <da...@cloudera.com>
---
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 <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>