You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2021/07/08 20:52:57 UTC

[GitHub] [couchdb] nickva commented on issue #3454: Restoring ppc64le to the CI builds

nickva commented on issue #3454:
URL: https://github.com/apache/couchdb/issues/3454#issuecomment-876738187


   Working with @afsanjar and other members of the Power team we have a new PowerVS machine connecting to our Apache CouchDB Jenkins instance.
   
   It's also added to the couchdb-infra-cm so it can be discovered and set-up that way (get the external IPs, run playbooks on it, etc). It's a bit of a special case still as `cloud.ibm.com` API for PowerVS instances is quite a bit different than for the other VPC instances.
   
   A few issues encountered currently are:
   
    * qemu cross platform architecture setup in couchdb-ci crashes with ppc64le build fails when building on MacOS BigSur (x86_64):
   ```
   CONTAINERARCH=ppc64le ERLANGVERSION=21.3.8.17 ./build.sh platform debian-buster
   => # qemu: uncaught target signal 4 (Illegal instruction) - core dumped
   ```
   
    * I tried building on the machine itself and it looks like fails to build foundationdb. We have a setting to ignore missing intrinsics, however it later on stumbles on a missing __rdtsc instruction:
   ```
   apt-dependencies.sh in couchdb-ci repo:
   
   if [ "${ARCH}" == "ppc64le" ]; then
       cmake -DCMAKE_CXX_FLAGS="-DNO_WARN_X86_INTRINSICS" -G Ninja ..
   ```
   
   ```
   [108/751] Building CXX object flow/CMakeFiles/flow.dir/Net2.actor.g.cpp.o
   FAILED: flow/CMakeFiles/flow.dir/Net2.actor.g.cpp.o
   /usr/bin/c++  -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DHAS_ALIGNED_ALLOC -DNO_INTELLISENSE -DUSE_UCONTEXT -I../ -I. -isystem boostProject-prefix/src/boostProject -DNO_WARN_X86_INTRINSICS -O3 -DNDEBUG   -DCMAKE_BUILD -ggdb -fno-omit-frame-pointer -Wno-pragmas -Wno-attributes -Wno-error=format -Wunused-variable -Wno-deprecated -fvisibility=hidden -Wreturn-type -fPIC -DHAVE_OPENSSL -std=gnu++17 -MD -MT flow/CMakeFiles/flow.dir/Net2.actor.g.cpp.o -MF flow/CMakeFiles/flow.dir/Net2.actor.g.cpp.o.d -o flow/CMakeFiles/flow.dir/Net2.actor.g.cpp.o -c flow/Net2.actor.g.cpp
   In file included from /foundationdb/flow/Net2.actor.cpp:21:
   /foundationdb/flow/Net2.actor.cpp: In member function 'virtual void N2::Net2::run()':
   ../flow/Platform.h:438:28: error: '__rdtsc' was not declared in this scope
    #define timestampCounter() __rdtsc()
                               ^~~~~~~
   /foundationdb/flow/Net2.actor.cpp:1186:15: note: in expansion of macro 'timestampCounter'
       tscBegin = timestampCounter();
                  ^~~~~~~~~~~~~~~~
   ../flow/Platform.h:438:28: note: suggested alternative: '__dt '
   
   ninja: build stopped: subcommand failed.
   ```
      So to make it work I had to skip building foundationdb, so the image will work on 3.x only, and also build it on the Power machine in docker not via multi-arch docker+qemu setup in https://github.com/apache/couchdb-ci


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org