Skip to content

Add CI check for PPC64le#25486

Closed
abyss7 wants to merge 11 commits intoClickHouse:masterfrom
abyss7:power9
Closed

Add CI check for PPC64le#25486
abyss7 wants to merge 11 commits intoClickHouse:masterfrom
abyss7:power9

Conversation

@abyss7
Copy link
Copy Markdown
Contributor

@abyss7 abyss7 commented Jun 18, 2021

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Changelog category (leave one):

  • Build/Testing/Packaging Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Add CI check for PPC64le cross-compilation

@robot-clickhouse robot-clickhouse added the pr-build Pull request with build/testing/packaging improvement label Jun 18, 2021
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jun 21, 2021

Command update: success

Branch has been successfully updated

Hey, I reacted but my real name is @Mergifyio

@alexey-milovidov alexey-milovidov self-assigned this Jun 21, 2021
@abyss7
Copy link
Copy Markdown
Contributor Author

abyss7 commented Jun 23, 2021

@Mergifyio update

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jun 23, 2021

Command update: success

Branch has been successfully updated

@abyss7
Copy link
Copy Markdown
Contributor Author

abyss7 commented Jun 23, 2021

@abyss7
Copy link
Copy Markdown
Contributor Author

abyss7 commented Jun 24, 2021

I cannot find it in https://clickhouse-builds.s3.yandex.net/25486/2622fbf9671f669f7560a5546da0ef2c72bdc1b7/clickhouse_special_build_check/report.html

It's not there yet - I have to add in Arcadia (I guess) after this PR gets merged.

Looks like I'm wrong, I will try to add build via ci_config.json

@alexey-milovidov
Copy link
Copy Markdown
Member

Does not work on Ubuntu 20.04 due to too new glibc:

milovidov@milovidov-desktop:~/work/ClickHouse/programs/server$ wget https://clickhouse-builds.s3.yandex.net/25486/2855831adaca71084db89b9a55e896711eba72fa/clickhouse_special_build_check/clang-11-ppc64le_relwithdebuginfo_none_bundled_unsplitted_disable_False_binary/clickhouse
--2021-06-27 23:26:47--  https://clickhouse-builds.s3.yandex.net/25486/2855831adaca71084db89b9a55e896711eba72fa/clickhouse_special_build_check/clang-11-ppc64le_relwithdebuginfo_none_bundled_unsplitted_disable_False_binary/clickhouse
Resolving clickhouse-builds.s3.yandex.net (clickhouse-builds.s3.yandex.net)... 2a02:6b8::2:158, 93.158.134.158
Connecting to clickhouse-builds.s3.yandex.net (clickhouse-builds.s3.yandex.net)|2a02:6b8::2:158|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2039041016 (1,9G) [application/octet-stream]
Saving to: ‘clickhouse’

clickhouse                                           100%[====================================================================================================================>]   1,90G  21,7MB/s    in 89s     

2021-06-27 23:28:16 (21,9 MB/s) - ‘clickhouse’ saved [2039041016/2039041016]

milovidov@milovidov-desktop:~/work/ClickHouse/programs/server$ chmod a+x ./clickhouse
milovidov@milovidov-desktop:~/work/ClickHouse/programs/server$ mv ./clickhouse ./clickhouse-ppc64le
milovidov@milovidov-desktop:~/work/ClickHouse/programs/server$ docker run -it --rm --volume $(pwd):/ClickHouse multiarch/ubuntu-core:ppc64el-wily /ClickHouse/clickhouse-ppc64le
/ClickHouse/clickhouse-ppc64le: /lib/powerpc64le-linux-gnu/libpthread.so.0: version `GLIBC_2.30' not found (required by /ClickHouse/clickhouse-ppc64le)
/ClickHouse/clickhouse-ppc64le: /lib/powerpc64le-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /ClickHouse/clickhouse-ppc64le)
/ClickHouse/clickhouse-ppc64le: /lib/powerpc64le-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /ClickHouse/clickhouse-ppc64le)
/ClickHouse/clickhouse-ppc64le: /lib/powerpc64le-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /ClickHouse/clickhouse-ppc64le)
/ClickHouse/clickhouse-ppc64le: /lib/powerpc64le-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /ClickHouse/clickhouse-ppc64le)
milovidov@milovidov-desktop:~/work/ClickHouse/programs/server$ docker run -it --rm --volume $(pwd):/ClickHouse ppc64le/ubuntu:latest /ClickHouse/clickhouse-ppc64le
Unable to find image 'ppc64le/ubuntu:latest' locally
latest: Pulling from ppc64le/ubuntu
830138a32e2b: Pull complete 
Digest: sha256:b57bc0aa04bd1e6e64199bc146f73db6bc7a7827375a5ca77804dde58d90d887
Status: Downloaded newer image for ppc64le/ubuntu:latest
/ClickHouse/clickhouse-ppc64le: /lib/powerpc64le-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /ClickHouse/clickhouse-ppc64le)
milovidov@milovidov-desktop:~/work/ClickHouse/programs/server$ docker run -it --rm --volume $(pwd):/ClickHouse ppc64le/ubuntu:latest cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

RUN wget -nv https://clickhouse-datasets.s3.yandex.net/toolchains/toolchains/freebsd-11.3-toolchain.tar.xz

# Download toolchain for POWER9 (PPC64le)
RUN wget -nv https://clickhouse-datasets.s3.yandex.net/toolchains/toolchains/advanced-toolchain-14.0-3-ppc64le.tar.xz
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Information about the source must be provided.

@alexey-milovidov
Copy link
Copy Markdown
Member

$ docker run -it --rm --volume $(pwd):/ClickHouse ppc64le/ubuntu:latest ldd --version
ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

@abyss7
Copy link
Copy Markdown
Contributor Author

abyss7 commented Jun 28, 2021

I will check why all of those dependencies on glibc version sneaked in - possibly the build-mode is wrong:
ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked

@alexey-milovidov
Copy link
Copy Markdown
Member

alexey-milovidov commented Jun 28, 2021

The toolchain has glibc 2.32 and Ubuntu 20.04 has glibc 2.31 - no surprise.

I recommend instead of using the official toolchain with ~500 MB of assorted files, just extract only some required files from the Ubuntu image (we can extract files directly from the Ubuntu image). Also we can pick some old Ubuntu version like 16.04...

Copy link
Copy Markdown
Member

@alexey-milovidov alexey-milovidov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@alexey-milovidov
Copy link
Copy Markdown
Member

Continued in #30010.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-build Pull request with build/testing/packaging improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants