Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

install-deps.sh, cmake: use GCC-7 on xenial also #19418

Merged
merged 3 commits into from Dec 12, 2017

Conversation

Projects
None yet
2 participants
@tchaikov
Copy link
Contributor

commented Dec 9, 2017

No description provided.

@tchaikov tchaikov added the build/ops label Dec 9, 2017

@tchaikov tchaikov requested review from liewegas and cbodley Dec 9, 2017

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Dec 9, 2017

see also ceph/ceph-build#937

this PR contains #19417

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Dec 9, 2017

retest this please

@tchaikov tchaikov force-pushed the tchaikov:wip-gcc-7-on-xenial branch 6 times, most recently from 2cf8a16 to 46dca5d Dec 10, 2017

install-deps.sh: use GCC-7 on xenial also
Signed-off-by: Kefu Chai <kchai@redhat.com>

@tchaikov tchaikov force-pushed the tchaikov:wip-gcc-7-on-xenial branch from 46dca5d to 08a5b2e Dec 11, 2017

tchaikov added some commits Dec 9, 2017

cmake: add WITH_STATIC_LIBSTDCXX option
to link libceph-common with libstdc++ if it is enabled.

Signed-off-by: Kefu Chai <kchai@redhat.com>
cmake: link executables against ceph-common
so they can have access to libstdc++ if it is linked statically.

Signed-off-by: Kefu Chai <kchai@redhat.com>

@tchaikov tchaikov force-pushed the tchaikov:wip-gcc-7-on-xenial branch from 08a5b2e to e6695bb Dec 11, 2017

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Dec 11, 2017

@cbodley i forgot to cherry-pick 4c2216d into this PR =(

@cbodley

This comment has been minimized.

Copy link
Contributor

commented Dec 11, 2017

ok thanks @tchaikov, i assumed you were going to follow up with that part later. i tested the build on fedora, and it built after a dnf install libstd++-static

but ldd is still showing the dynamic version on executables, is that expected?

ldd bin/ceph-osd | grep std
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f7904a8a000)

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Dec 12, 2017

@cbodley that's expected. i am testing on xenial:

on a xenial with gcc-7 and its runtime installed

kefu@d24af267fe5b:build$ ldd bin/ceph-osd | grep std
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f250081b000)
kefu@d24af267fe5b:build$ readlink /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6.0.24
kefu@d24af267fe5b:build$ ldd bin/ceph-osd| grep common
        libceph-common.so.0 => /var/ceph/ceph-ubuntu-16.04-kefu/build/lib/libceph-common.so.0 (0x00007f655b6ef000)
kefu@d24af267fe5b:build$ ldd /var/ceph/ceph-ubuntu-16.04-kefu/build/lib/libceph-common.so.0|grep std
kefu@d24af267fe5b:build$ readelf -V /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.22 | head -1
  110:  11 (GLIBCXX_3.4.15)    d (GLIBCXX_3.4.11)   18 (GLIBCXX_3.4.22)    c (GLIBCXX_3.4.10)
kefu@d24af267fe5b:build$ bin/ceph-osd --version
ceph version Development (no_version) mimic (dev)
kefu@d24af267fe5b:build$ md5sum bin/ceph-osd
1c8d76dd3b8fb339778185c7e8310512  bin/ceph-osd

on a xenial without gcc-7 and its runtime installed

kefu@a590572dd24c:build$ ldd bin/ceph-osd | grep std
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb9c8908000)
kefu@a590572dd24c:build$ readlink /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6.0.21
lrwxrwxrwx 1 root root 19 Sep 14 03:02 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.21
kefu@a590572dd24c:build$ ldd bin/ceph-osd | grep common
        libceph-common.so.0 => /var/ceph/ceph-ubuntu-16.04-kefu/build/lib/libceph-common.so.0 (0x00007f3ff855f000)
kefu@a590572dd24c:build$ ldd /var/ceph/ceph-ubuntu-16.04-kefu/build/lib/libceph-common.so.0 | grep std
kefu@a590572dd24c:build$ readelf -V /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.22 | head -1
kefu@a590572dd24c:build$ bin/ceph-osd --version
ceph version Development (no_version) mimic (dev)
$ md5sum bin/ceph-osd
1c8d76dd3b8fb339778185c7e8310512  bin/ceph-osd

regarding to the dependency of libstd++-static, i think its fine not installing/checking it in our building system. because we are trying to handle the special case of installing using the GCC-7 from ppa on an old distro. i guess the GCC-7 package's dependencies include the static library of libstdc++. on a newer release of fedora/debian/ubuntu, they will have a ready-to-use GCC-7.

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Dec 12, 2017

@tchaikov tchaikov merged commit e38ef37 into ceph:master Dec 12, 2017

5 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
make check (arm64) make check succeeded
Details

@tchaikov tchaikov deleted the tchaikov:wip-gcc-7-on-xenial branch Dec 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.