π CentOS Cloud SIG ppc64le issues
The following is a list of open issues needed to get https://buildlogs.centos.org/centos/7/cloud/ppc64le/openstack-pike/ matching https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/
π Repositories: cloud images
https://cloud.centos.org/altarch/7/images/
needs to be compiled for ppc64le?
There are currently builds on http://ftp.unicamp.br/pub/ppc64el/centos/7/images/
π Merging ppc64le scratch build into existing build
All of the packages have been processed.
For history's sake, the following packages needed to have scratch builds for only ppc64le built and then merged into the existing build of that version (with breaks for repo regens):
cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 apiextractor-0.10.10-11.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-dulwich-0.16.1-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 fio-2.2.10-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 jsoncpp-0.10.5-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 librdkafka-0.9.2-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 openvswitch-2.7.1-1.1fc27.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 Cython-0.25.2-3.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-dulwich-0.16.1-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-lz4-0.9.0-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-psutil-5.2.2-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-tornado-4.4.2-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-gitdb-0.6.4-4.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 qpid-proton-0.14.0-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 sip-4.19-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 sparsehash-2.0.2-4.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 mozjs38-38.8.0-2.el7.src.rpm --- cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-CoinUtils-2.10.13-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 generatorrunner-0.6.16-10.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 mongodb-3.2.8-3.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 libev-4.24-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 qpid-cpp-1.35.0-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-subprocess32-3.2.6-4.el7.src.rpm --- cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 glpk-4.52.1-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 PyQt4-4.12-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-cassandra-driver-3.7.1-4.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-gevent-1.1.2-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-matplotlib-2.0.0-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 shiboken-1.2.4-2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 cmake3-3.6.1-2.el7.src.rpm --- cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Osi-0.107.8-1.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-pandas-0.19.1-2.el7.2.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-pykafka-2.6.0-0.1.dev2.el7.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 python-pyside-1.2.2-6.el7.1.src.rpm cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 qpid-dispatch-0.6.1-4.el7.src.rpm --- cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Clp-1.16.10-1.el7.src.rpm --- cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Cgl-0.59.9-1.el7.src.rpm --- cbs build --scratch --arch-override=ppc64le cloud7-openstack-common-el7 coin-or-Cbc-2.9.8-1.el7.src.rpm
π Needs to move from cloud7-openstack-common-candidate to cloud7-openstack-common-release
How in general is this supposed to happen? Also, specifically, these packages need to show up in -release.
corosync-2.4.0-9.el7 https://cbs.centos.org/koji/buildinfo?buildID=17261 erlang-19.3.6.1-1.el7 https://cbs.centos.org/koji/buildinfo?buildID=17627 galera-25.3.16-3.el7 https://cbs.centos.org/koji/buildinfo?buildID=17566 libqb-1.0.1-3.el7 https://cbs.centos.org/koji/buildinfo?buildID=17248 librx-1.5-28.el7 https://cbs.centos.org/koji/buildinfo?buildID=16943 nagios-4.0.8-2.el7 https://cbs.centos.org/koji/buildinfo?buildID=11208 pacemaker-1.1.16-10.el7 https://cbs.centos.org/koji/buildinfo?buildID=17258 pcs-0.9.158-4.el7 https://cbs.centos.org/koji/buildinfo?buildID=17327 python-bcrypt-3.1.2-3.el7 https://cbs.centos.org/koji/buildinfo?buildID=17369 python-pillow-4.0.0-0.1.el7 https://cbs.centos.org/koji/buildinfo?buildID=16917 scipy https://cbs.centos.org/koji/buildinfo?buildID=15956 python-sqlalchemy https://cbs.centos.org/koji/buildinfo?buildID=17555 resource-agents https://cbs.centos.org/koji/buildinfo?buildID=17263 subunit https://cbs.centos.org/koji/buildinfo?buildID=17618
π copying x86_64 noarch into ppc64le
Not sure how to get noarch from https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/ into https://buildlogs.centos.org/centos/7/cloud/ppc64le/openstack-pike/. Needs to be retagged?
openstack-aodh https://cbs.centos.org/koji/packageinfo?packageID=1949 openstack-macros https://cbs.centos.org/koji/packageinfo?packageID=3792 puppet https://cbs.centos.org/koji/buildinfo?buildID=15305 python-amqp https://cbs.centos.org/koji/buildinfo?buildID=17360 python-cotyledon https://cbs.centos.org/koji/buildinfo?buildID=15562 python-docker https://cbs.centos.org/koji/buildinfo?buildID=17580 python-docker-pycreds https://cbs.centos.org/koji/buildinfo?buildID=17042 python-eventlet https://cbs.centos.org/koji/buildinfo?buildID=17356 python-funcsigs https://cbs.centos.org/koji/buildinfo?buildID=11232 python-gabbi https://cbs.centos.org/koji/buildinfo?buildID=17031 python-kombu https://cbs.centos.org/koji/buildinfo?buildID=16783 python-mock https://cbs.centos.org/koji/buildinfo?buildID=12100 python-murano-pkg-check https://cbs.centos.org/koji/buildinfo?buildID=15689 python-openstackdocstheme https://cbs.centos.org/koji/buildinfo?buildID=17538 python-paramiko https://cbs.centos.org/koji/buildinfo?buildID=11376 python-pbr https://cbs.centos.org/koji/buildinfo?buildID=17532 python-pecan https://cbs.centos.org/koji/buildinfo?buildID=11604 python-positional https://cbs.centos.org/koji/buildinfo?buildID=12116 python-PyMySQL https://cbs.centos.org/koji/buildinfo?buildID=17298 pyOpenSSL https://cbs.centos.org/koji/buildinfo?buildID=15812 python-pyroute2 https://cbs.centos.org/koji/buildinfo?buildID=17311 python-ryu https://cbs.centos.org/koji/buildinfo?buildID=17279 python-sphinx https://cbs.centos.org/koji/buildinfo?buildID=17541 python-sphinxcontrib-websupport https://cbs.centos.org/koji/buildinfo?buildID=17539 python-tinyrpc https://cbs.centos.org/koji/buildinfo?buildID=17259 python-tosca-parser https://cbs.centos.org/koji/buildinfo?buildID=15326 python-vine https://cbs.centos.org/koji/buildinfo?buildID=16741 python-XStatic-Angular https://cbs.centos.org/koji/buildinfo?buildID=15445 python-XStatic-Angular-Bootstrap https://cbs.centos.org/koji/buildinfo?buildID=15447 python-XStatic-Angular-Gettext https://cbs.centos.org/koji/packageinfo?packageID=767 python-XStatic-bootswatch https://cbs.centos.org/koji/buildinfo?buildID=15451 python-XStatic-D3 https://cbs.centos.org/koji/buildinfo?buildID=15452 python-XStatic-Font-Awesome https://cbs.centos.org/koji/buildinfo?buildID=15536 python-XStatic-JSEncrypt https://cbs.centos.org/koji/buildinfo?buildID=15448 python-XStatic-roboto-fontface https://cbs.centos.org/koji/buildinfo?buildID=14533 python-cachetools https://cbs.centos.org/koji/buildinfo?buildID=11994 python-django-compressor https://cbs.centos.org/koji/buildinfo?buildID=11184 python-django-pyscss https://cbs.centos.org/koji/buildinfo?buildID=3735 python-dogpile-cache https://cbs.centos.org/koji/buildinfo?buildID=12119 python-idna https://cbs.centos.org/koji/buildinfo?buildID=17243 python-kafka https://cbs.centos.org/koji/buildinfo?buildID=15342 python-migrate https://cbs.centos.org/koji/buildinfo?buildID=16842 python-pytest-cov https://cbs.centos.org/koji/buildinfo?buildID=17374 python-requests-mock https://cbs.centos.org/koji/buildinfo?buildID=13885 python-sphinx-locale https://cbs.centos.org/koji/buildinfo?buildID=17541 python-sphinx_rtd_theme https://cbs.centos.org/koji/buildinfo?buildID=17542 python-webob https://cbs.centos.org/koji/buildinfo?buildID=17007
π cloud7-openstack-pike-candidate is not built yet for ppc64le
The repository https://cbs.centos.org/repos/cloud7-openstack-pike-candidate/ is not currently built for ppc64 because it would break the x86_64 builds.
π Other package errors
π libunwind
libunwind-1.1-3.el7.src.rpm does not support ppc64le architecture
... error: Architecture is not included: ppc64le ...
We need to tag libunwind-1.1-10.el7 into cloud7-openstack-common-release
π mariadb-galera
Building mariadb-galera-5.5.40-3.el7.src.rpm fails with the following message:
Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target ppc64le --nodeps /builddir/build/SPECS/mariadb-galera.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False error: Architecture is not included: ppc64le Building target platforms: ppc64le Building for target ppc64le Child return code was: 1
In Koji, it was last built on 2015-06-17. Is this package in active development?
π openstack-tripleo-ui-deps
Building openstack-tripleo-ui-deps-7-5.el7.src.rpm fails with the following message:
Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target ppc64le --nodeps /builddir/build/SPECS/openstack-tripleo-ui-deps.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False error: Architecture is not included: ppc64le Building target platforms: ppc64le Building for target ppc64le
Altering the openstack-tripleo-ui-deps.spec file
[hamzy@pkvmci853 ~]$ diff -Nu ~/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec.orig ~/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec --- /home/hamzy/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec.orig 2017-05-30 19:15:56.000000000 -0400 +++ /home/hamzy/rpmbuild/SPECS/openstack-tripleo-ui-deps.spec 2017-07-22 18:51:05.471924860 -0400 @@ -20,7 +20,7 @@ Source0: tripleo-ui-deps-%{shortcommit}.tar.gz # Cannot build as noarch until nodejs is built from aarch64 in CBS -ExclusiveArch: x86_64 +ExclusiveArch: x86_64 ppc64le BuildRequires: nodejs BuildRequires: git
the build will succeed.
π phantomjs
Building phantomjs-1.9.7-3.el7.src.rpm encounters the following error:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DHAVE_CONFIG_H -DHAVE_FCNTL_H -DHAVE_STDARG_H -DHAVE_STDINT_H -DHAVE_UNISTD_H -DUSE_UTF8 -DSTATIC_BUILD -DQCOMMANDLINE_STATIC -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -Iqt/mkspecs/linux-g++ -I. -Iqt/include/QtCore -Iqt/include/QtNetwork -Iqt/include/QtGui -Iqt/include/QtWebKit -Iqt/include -Igif -Imongoose -Ilinenoise/src -Iqcommandline -Ibreakpad/src -I. -o csconverter.o csconverter.cpp In file included from breakpad/src/common/memory.h:44:0, from breakpad/src/client/linux/minidump_writer/linux_dumper.h:49, from breakpad/src/client/linux/minidump_writer/minidump_writer.h:39, from breakpad/src/client/linux/handler/exception_handler.h:45, from main.cpp:36: breakpad/src/third_party/lss/linux_syscall_support.h: In function 'void* sys_mmap2(void*, size_t, int, int, int, off_t)': breakpad/src/third_party/lss/linux_syscall_support.h:2429:18: error: '__NR_mmap2' was not declared in this scope __sc_0 = __NR_##name ^ breakpad/src/third_party/lss/linux_syscall_support.h:2432:13: note: in expansion of macro 'LSS_LOADARGS_0' LSS_LOADARGS_0(name); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2436:13: note: in expansion of macro 'LSS_LOADARGS_1' LSS_LOADARGS_1(name, arg1); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2440:13: note: in expansion of macro 'LSS_LOADARGS_2' LSS_LOADARGS_2(name, arg1, arg2); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2444:13: note: in expansion of macro 'LSS_LOADARGS_3' LSS_LOADARGS_3(name, arg1, arg2, arg3); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2448:13: note: in expansion of macro 'LSS_LOADARGS_4' LSS_LOADARGS_4(name, arg1, arg2, arg3, arg4); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2452:13: note: in expansion of macro 'LSS_LOADARGS_5' LSS_LOADARGS_5(name, arg1, arg2, arg3, arg4, arg5); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2480:13: note: in expansion of macro 'LSS_LOADARGS_6' LSS_LOADARGS_##nr(name, args); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:2533:11: note: in expansion of macro 'LSS_BODY' LSS_BODY(6, type, name, arg1, arg2, arg3, arg4, arg5, arg6); \ ^ breakpad/src/third_party/lss/linux_syscall_support.h:3046:16: note: in expansion of macro '_syscall6' LSS_INLINE _syscall6(void*, mmap2, void*, s, ^ In file included from main.cpp:36:0: breakpad/src/client/linux/handler/exception_handler.h: At global scope: breakpad/src/client/linux/handler/exception_handler.h:178:26: error: field 'float_state' has incomplete type struct _libc_fpstate float_state; ^ make[1]: *** [main.o] Error 1
Some internet talk about it here: powerpc-linux not currently supported and Porting google-breakpad on ppc64le
I did more research here: phantomjs_ppc64le
π python-cradox
python-cradox-1.3.2-1.el7.src.rpm is fixed. However, I do not know if the appropriate way was used. Basically, the Exclusive architecture statement was removed.
[hamzy@pkvmci853 ~]$ (TMP1=$(mktemp); TMP2=$(mktemp); wget --quiet -O - 'http://cbs.centos.org/kojifiles/packages/python-cradox/1.3.2/1.el7/src/python-cradox-1.3.2-1.el7.src.rpm' | rpm2cpio | cpio --extract --to-stdout python-cradox.spec > ${TMP1} 2>/dev/null; wget --quiet -O - 'http://cbs.centos.org/kojifiles/packages/python-cradox/1.3.2/1.el7.1/src/python-cradox-1.3.2-1.el7.1.src.rpm' | rpm2cpio | cpio --extract --to-stdout python-cradox.spec > ${TMP2} 2>/dev/null; diff -Nu ${TMP1} ${TMP2}; /bin/rm ${TMP1} ${TMP2}) --- /tmp/tmp.h5gKhhCQJj 2017-07-22 07:33:56.729566824 -0400 +++ /tmp/tmp.d7p7Qh4hqO 2017-07-22 07:33:56.829568094 -0400 @@ -6,12 +6,9 @@ Name: python-%{pypi_name} Version: 1.3.2 -Release: 1%{?dist} +Release: 1%{?dist}.1 Summary: Python libraries for the Ceph librados library with use cython instead of ctypes -# TODO(apevec) temp disable ppc64le, builder was not picking up the task after 1h -ExclusiveArch: x86_64 aarch64 - License: LGPLv2 URL: https://github.com/sileht/pycradox Source0: https://files.pythonhosted.org/packages/source/c/%{pypi_name}/%{pypi_name}-%{version}.tar.gz
π python-fastcache
Building python-fastcache-1.0.2-3.el7.src.rpm fails with the following message:
+ py.test-2.7 -v --ignore=fastcache/tests ============================= test session starts ============================== platform linux2 -- Python 2.7.5, pytest-3.0.6, py-1.4.31, pluggy-0.4.0 -- /usr/bin/python2 cachedir: .cache rootdir: /builddir/build/BUILD/python-fastcache-1.0.2/fastcache-1.0.2, inifile: collecting ... collected 0 items ========================= no tests ran in 0.01 seconds ========================= RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.aoOVMr (%check) Bad exit status from /var/tmp/rpm-tmp.aoOVMr (%check)
π python-tables
Building python-tables-3.1.1-2.el7.src.rpm encounters the following error:
+ python setup.py build * Using Python 2.7.5 (default, Nov 11 2016, 04:49:48) .. ERROR:: You need numpy 1.4.1 or greater to run PyTables! RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.U2vx9n (%build) Bad exit status from /var/tmp/rpm-tmp.U2vx9n (%build) Child return code was: 1
x86_64 successfully built a while ago, but a scratch build also fails now.
Building python-tables-3.2.0-1.el7.src.rpm encounters the following error:
... DEBUG util.py:417: Error: No Package found for blosc-devel >= 1.5.2 ...
So blosc-1.6.1-1.el7.src.rpm was imported from EPEL. However, python-tables still fails (https://kojipkgs.fedoraproject.org//packages/python-tables/3.2.0/1.el7/data/logs/ppc64le/build.log):
... ERROR: None (tables.tests.test_tables.RecArrayRangeTestCase) ... ValueError: could not broadcast input array from shape (2) into shape (0) ... Ran 5734 tests in 183.285s FAILED (errors=4, skipped=13) ...
Maybe https://github.com/PyTables/PyTables/issues/482 points to a solution?
python-tables is needed by openstack-gnocchi and python-hardware:
2017-07-22 05:41:33,615 INFO:dlrn-build:Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_release) 2017-07-22 05:41:33,615 INFO:dlrn-build: Requires: python-tables ... 2017-07-22 05:41:33,646 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-gnocchi: ... 2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG: Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_candidate) 2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG: Requires: python-tables ... 2017-07-22 12:56:50,478 ERROR:dlrn:Received exception Error in build_rpm_wrapper for python-hardware:
π v8
Building v8-3.14.5.10-17.el7.src.rpm fails with the following message:
Executing command: ['bash', '--login', '-c', u'/usr/bin/rpmbuild -bb --target ppc64le --nodeps /builddir/build/SPECS/v8.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/builddir', 'HOSTNAME': 'mock'} and shell False error: Architecture is not included: ppc64le Building target platforms: ppc64le Building for target ppc64le Child return code was: 1
Building v8-5.2.258-11.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/v8/5.2.258/11.fc27/src/v8-5.2.258-11.fc27.src.rpm) fails with the following message:
DEBUG util.py:417: Error: No Package found for clang
Building clang-4.0.1-1.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/clang/4.0.1/1.fc27/src/clang-4.0.1-1.fc27.src.rpm) fails with the following message:
Error: No Package found for llvm-devel = 4.0.1 Error: No Package found for llvm-static = 4.0.1 Error: No Package found for python2-lit Error: No Package found for python3-sphinx
Building llvm-4.0.1-1.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/llvm/4.0.1/1.fc27/src/llvm-4.0.1-1.fc27.src.rpm) fails with the following message:
DEBUG util.py:417: Error: No Package found for python3-sphinx
Altering the llvm.spec file
[hamzy@pkvmci853 ~]$ diff -Nu ~/rpmbuild/SPECS/llvm.spec.orig ~/rpmbuild/SPECS/llvm.spec [11/1927] --- /home/hamzy/rpmbuild/SPECS/llvm.spec.orig 2017-06-22 16:53:12.000000000 -0400 +++ /home/hamzy/rpmbuild/SPECS/llvm.spec 2017-07-22 16:08:43.742010218 -0400 @@ -7,6 +7,10 @@ %global llvm_bindir %{_libdir}/%{name} +%if 0%{?fedora} || 0%{?epel} +%global with_python3 1 +%endif + Name: llvm Version: 4.0.1 Release: 1%{?dist} @@ -24,11 +28,15 @@ Patch5: 0001-CMake-Fix-docs-llvm-man-target-when-clang-llvm-is-in.patch Patch6: 0001-CMake-Add-LLVM_UTILS_INSTALL_DIR-option.patch -BuildRequires: cmake +BuildRequires: cmake3 BuildRequires: zlib-devel BuildRequires: libffi-devel BuildRequires: ncurses-devel +%if 0%{?with_python3} BuildRequires: python3-sphinx +%else +BuildRequires: python2-sphinx +%endif BuildRequires: multilib-rpm-config %if %{with gold} BuildRequires: binutils-devel @@ -93,7 +101,7 @@ %endif # force off shared libs as cmake macros turns it on. -%cmake .. \ +%cmake3 .. \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \ @@ -143,7 +151,11 @@ -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \ \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ +%if 0%{?with_python3} -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 +%else + -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build +%endif make %{?_smp_mflags}
the build will succeed.
Building python-lit-0.5.0-1.el7.src.rpm (https://kojipkgs.fedoraproject.org//packages/python-lit/0.5.0/1.fc27/src/python-lit-0.5.0-1.fc27.s) fails with the following message:
+ sed -i -e '1{\@^#!/usr/bin/env python@d}' '/builddir/build/BUILDROOT/python-lit-0.5.0-1.el7.ppc64le%{python3_sitelib}/lit/*.py' sed: can't read /builddir/build/BUILDROOT/python-lit-0.5.0-1.el7.ppc64le%{python3_sitelib}/lit/*.py: No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.NKKtMh (%install)
Altering the python-lit.spec file
[hamzy@pkvmci853 ~]$ diff -Nu ~/rpmbuild/SPECS/python-lit.spec.orig ~/rpmbuild/SPECS/python-lit.spec --- /home/hamzy/rpmbuild/SPECS/python-lit.spec.orig 2017-03-10 10:51:45.000000000 -0500 +++ /home/hamzy/rpmbuild/SPECS/python-lit.spec 2017-07-22 17:33:40.084558263 -0400 @@ -63,7 +63,9 @@ # Strip out #!/usr/bin/env python sed -i -e '1{\@^#!/usr/bin/env python@d}' %{buildroot}%{python2_sitelib}/%{srcname}/*.py +%if 0%{?with_python3} sed -i -e '1{\@^#!/usr/bin/env python@d}' %{buildroot}%{python3_sitelib}/%{srcname}/*.py +%endif %check %{__python2} setup.py test
the build will succeed.
π DLRN builds
dlrn has the following modifications:
diff --git a/projects.ini b/projects.ini index c9f165d..a9b602d 100644 --- a/projects.ini +++ b/projects.ini @@ -1,7 +1,8 @@ [DEFAULT] datadir=./data scriptsdir=./scripts -baseurl=http://trunk.rdoproject.org/centos7/ +#baseurl=http://trunk.rdoproject.org/centos7/ +baseurl=http://127.0.0.1/openstack-pike/ distro=rpm-master source=master target=centos @@ -10,7 +11,7 @@ reponame=delorean templatedir=./dlrn/templates maxretries=3 pkginfo_driver=dlrn.drivers.rdoinfo.RdoInfoDriver -tags= +tags=pike-uc #tags=mitaka rsyncdest= rsyncport=22 diff --git a/scripts/centos.cfg b/scripts/centos.cfg index 9298f1a..7dc8d99 100644 --- a/scripts/centos.cfg +++ b/scripts/centos.cfg @@ -1,11 +1,24 @@ -config_opts['root'] = 'dlrn-centos7-x86_64' -config_opts['target_arch'] = 'x86_64' -config_opts['legal_host_arches'] = ('x86_64',) +config_opts['root'] = 'dlrn-centos7-ppc64le' +config_opts['target_arch'] = 'ppc64le' +config_opts['legal_host_arches'] = ('ppc64le',) config_opts['chroot_setup_cmd'] = 'install basesystem rpm-build python2-devel gcc make python-sqlalchemy python-webob ghostscript g config_opts['dist'] = 'el7' # only useful for --resultdir variable subst config_opts['releasever'] = '7' config_opts['plugin_conf']['ccache_enable'] = False config_opts['priorities.conf'] = """ +config_opts['nosync'] = True +config_opts['plugin_conf']['root_cache_opts']['compress_program'] = "" +config_opts['plugin_conf']['root_cache_opts']['extension'] = "" +config_opts['plugin_conf']['tmpfs_enable'] = True +config_opts['plugin_conf']['tmpfs_opts'] = {} +config_opts['plugin_conf']['tmpfs_opts']['required_ram_mb'] = 1024 +config_opts['plugin_conf']['tmpfs_opts']['max_fs_size'] = '50g' +config_opts['plugin_conf']['tmpfs_opts']['mode'] = '0755' +config_opts['plugin_conf']['tmpfs_opts']['keep_mounted'] = False +config_opts['macros']['%__gzip'] = '/usr/bin/pigz' +config_opts['macros']['%__bzip2'] = '/usr/bin/lbzip2' +config_opts['http_proxy'] = 'http://127.0.0.1:3128' + [main] enabled = 1 check_obsoletes = 1 @@ -29,23 +42,30 @@ syslog_device= [base] name=BaseOS -mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os +#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=ppc64le&repo=os +baseurl=http://mirror.centos.org/altarch/$releasever/os/$basearch/ failovermethod=priority gpgkey=file:///etc/pki/mock/RPM-GPG-KEY-CentOS-7 + file:///etc/pki/mock/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch gpgcheck=1 [updates] name=updates enabled=1 -mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates +#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=ppc64le&repo=updates +baseurl=http://mirror.centos.org/altarch/$releasever/updates/$basearch/ failovermethod=priority gpgkey=file:///etc/pki/mock/RPM-GPG-KEY-CentOS-7 + file:///etc/pki/mock/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch gpgcheck=1 [extras] name=extras -mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras +#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=ppc64le&repo=extras +baseurl=http://mirror.centos.org/altarch/$releasever/extras/$basearch/ failovermethod=priority gpgkey=file:///etc/pki/mock/RPM-GPG-KEY-EPEL-7 + file:///etc/pki/mock/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch gpgcheck=1 +exclude=python-greenlet """
[hamzy@pkvmci853 DLRN]$ cat << __EOF__ | sudo tee -a /var/www/html/openstack-pike/delorean-deps.repo [cloud7_openstack_common_candidate] name=cloud7_openstack_common_candidate baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-candidate/ppc64le/os/ enabled=1 gpgcheck=0 cost=1 [cloud7_openstack_common_testing] name=cloud7_openstack_common_testing baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-testing/ppc64le/os/ enabled=1 gpgcheck=0 cost=2 [cloud7_openstack_common_release] name=cloud7_openstack_common_release baseurl=https://cbs.centos.org/repos/cloud7-openstack-common-release/ppc64le/os/ enabled=1 gpgcheck=0 cost=3 [openstack_pike_ppc64le] name=openstack_pike_ppc64le baseurl=https://buildlogs.centos.org/centos/7/cloud/ppc64le/openstack-pike/ enabled=1 gpgcheck=0 cost=4 [openstack_pike_x8664] name=openstack_pike_x8664 baseurl=https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/ enabled=1 gpgcheck=0 cost=5
When dlrn builds a clean set of packages:
[hamzy@pkvmci853 ~]$ source ~/dlrn-venv/bin/activate (dlrn-venv)[hamzy@pkvmci853 DLRN]$ rm -rf data/; /bin/rm commits.sqlite; dlrn --order --verbose-mock 2>&1 | tee output.dlrn
π missing dlrn order packages
there are a couple of missing packages that are in cloud7-openstack-pike-xxx but are not built by dlrn:
python-psutil openvswitch
π python-openstackclient-3.11.0-0.20170720225953.c69304e
python-openstackclient-3.11.0-0.20170720225953.c69304e.el7.centos.src.rpm (https://github.com/openstack/python-openstackclient/commit/c69304e3d365dc2c67fab298eba0b9097d3819da)
has the following error during the build tests:
... 2017-07-20 19:02:22,741 INFO:dlrn-build:DEBUG: FAIL: openstackclient.tests.unit.integ.cli.test_shell.TestIntegShellCliPrecedenceOCC.test_shell_args_precedence_1 ... 2017-07-20 19:02:22,748 INFO:dlrn-build:DEBUG: testtools.matchers._impl.MismatchError: 0 != 2 ...
I believe that this problem has been fixed by the following defects:
- https://bugs.launchpad.net/os-client-config/+bug/1694937
- https://trunk.rdoproject.org/centos7-master-head/d0/34/d034b980ab03bbd50d31ef8bd439bc80a91a7d77_b81ca2c8/rpmbuild.log
- https://bugs.launchpad.net/python-openstackclient/+bug/1703783
π hacking dlrn
The following hack gets around the above two problems:
[hamzy@pkvmci853 DLRN]$ (DIR=/var/www/html/missing-openstack-pike; sudo /bin/rm -rf ${DIR}; sudo mkdir ${DIR}; cd ${DIR}; for URL in http://cbs.centos.org/kojifiles/packages/python-psutil/5.2.2/1.el7/ppc64le/python2-psutil-5.2.2-1.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/python-psutil/5.2.2/1.el7/ppc64le/python-psutil-debuginfo-5.2.2-1.el7.ppc64le.rpm https://trunk.rdoproject.org/centos7-master/current-passed-ci/python-openstackclient-3.11.0-0.20170613232431.c69304e.el7.centos.noarch.rpm https://trunk.rdoproject.org/centos7-master/current-passed-ci/python-openstackclient-doc-3.11.0-0.20170613232431.c69304e.el7.centos.noarch.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-devel-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-central-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-common-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-docker-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-host-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-ovn-vtep-2.7.2-3.1fc27.el7.ppc64le.rpm http://cbs.centos.org/kojifiles/packages/openvswitch/2.7.2/3.1fc27.el7/ppc64le/openvswitch-debuginfo-2.7.2-3.1fc27.el7.ppc64le.rpm; do sudo wget --quiet ${URL}; done; sudo createrepo .; sudo chcon -R system_u:object_r:httpd_sys_content_t:s0 ${DIR}) [hamzy@pkvmci853 DLRN]$ sudo vi /var/www/html/openstack-pike/delorean-deps.repo ... [missing_openstack_pike] name=missing_openstack_pike baseurl=http://127.0.0.1/missing-openstack-pike/ enabled=1 gpgcheck=0 cost=6 ...
Another run of dlrn will complete with the following problems:
2017-07-21 19:16:58,557 ERROR:dlrn:Received exception Error in build_rpm_wrapper for python-openstackclient: ... 2017-07-22 05:41:33,615 INFO:dlrn-build:Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_release) 2017-07-22 05:41:33,615 INFO:dlrn-build: Requires: python-tables ... 2017-07-22 05:41:33,646 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-gnocchi: ... 2017-07-22 11:35:31,164 INFO:dlrn-build:Getting requirements for openstack-tripleo-ui-7.1.1-0.20170722153456.3cb948f.el7.centos.src ... 2017-07-22 11:35:31,165 INFO:dlrn-build:Error: No Package found for openstack-tripleo-ui-deps >= 7 ... 2017-07-22 11:35:31,210 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-tripleo-ui: ... 2017-07-22 11:56:17,740 INFO:dlrn-build:DEBUG: Error: Package: sympy-0.7.6-2.el7.noarch (cloud7_openstack_common_candidate) 2017-07-22 11:56:17,741 INFO:dlrn-build:DEBUG: Requires: python-fastcache ... 2017-07-22 11:56:28,753 ERROR:dlrn:Received exception Error in build_rpm_wrapper for openstack-vitrage: ... 2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG: Error: Package: python2-pandas-0.19.1-2.el7.2.ppc64le (cloud7_openstack_common_candidate) 2017-07-22 12:56:37,528 INFO:dlrn-build:DEBUG: Requires: python-tables ... 2017-07-22 12:56:50,478 ERROR:dlrn:Received exception Error in build_rpm_wrapper for python-hardware: ...