Page MenuHomePhabricator

Bump protobuf version from 2.61 to 21.12 in native_protobuf.mk + enable Chronik build again
ClosedPublic

Authored by tobias_ruck on Mar 2 2023, 10:02.

Details

Summary

Chronik requires support for proto3, which requires us to upgrade the protoc compiler.
We also enable Chronik in the builds again (has been reverted in D13221).

Test Plan

CI @bot build-linux32 build-linux64 build-linux-aarch64 build-linux-arm build-osx build-win64

Diff Detail

Repository
rABC Bitcoin ABC
Branch
bump-protobuf-version
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22202
Build 44039: Build Diff
Build 44038: arc lint + arc unit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux64
Fetching protobuf-22.0.tar.gz from https://github.com/protocolbuffers/protobuf/releases/download/v22.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

100 4802k  100 4802k    0     0  6811k      0 --:--:-- --:--:-- --:--:-- 6811k
/work/depends/work/download/protobuf-22.0/protobuf-22.0.tar.gz.temp: OK
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-1ed35a8b6c6/./.stamp_configured] Error 127
make: *** [Makefile:224: build-linux64] Error 2
Build build-linux64 failed with exit code 2

@bot build-linux32 build-linux64 build-linux-aarch64 build-linux-arm build-osx build-win64

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux-aarch64
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/aarch64-linux-gnu/native_protobuf/22.0-1ed35a8b6c6/./.stamp_configured] Error 127
make: *** [Makefile:230: build-linux-aarch64] Error 2
Build build-linux-aarch64 failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux32
Fetching protobuf-22.0.tar.gz from https://github.com/protocolbuffers/protobuf/releases/download/v22.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

100 4802k  100 4802k    0     0  13.2M      0 --:--:-- --:--:-- --:--:-- 13.2M
/work/depends/work/download/protobuf-22.0/protobuf-22.0.tar.gz.temp: OK
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/i686-pc-linux-gnu/native_protobuf/22.0-1ed35a8b6c6/./.stamp_configured] Error 127
make: *** [Makefile:226: build-linux32] Error 2
Build build-linux32 failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux-arm
Fetching protobuf-22.0.tar.gz from https://github.com/protocolbuffers/protobuf/releases/download/v22.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 4802k  100 4802k    0     0  5856k      0 --:--:-- --:--:-- --:--:-- 15.1M
/work/depends/work/download/protobuf-22.0/protobuf-22.0.tar.gz.temp: OK
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/arm-linux-gnueabihf/native_protobuf/22.0-1ed35a8b6c6/./.stamp_configured] Error 127
make: *** [Makefile:228: build-linux-arm] Error 2
Build build-linux-arm failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-osx
/work/depends/SDKs /work/depends /work/abc-ci-builds/build-osx
/work/depends /work/abc-ci-builds/build-osx
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/x86_64-apple-darwin16/native_protobuf/22.0-14695a54fe1/./.stamp_configured] Error 127
make: *** [Makefile:232: build-osx] Error 2
Build build-osx failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux64
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-1ed35a8b6c6/./.stamp_configured] Error 127
make: *** [Makefile:224: build-linux64] Error 2
Build build-linux64 failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-win64
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
/bin/sh: 1: ./configure: not found
make[1]: *** [funcs.mk:254: /work/depends/work/build/x86_64-w64-mingw32/native_protobuf/22.0-d3b28c051a1/./.stamp_configured] Error 127
make: *** [Makefile:234: build-win64] Error 2
Build build-win64 failed with exit code 2

attempt at building protobuf 22.0 using cmake

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux64
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
CMake Error: The source directory "/work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-695dfc8e042/Release" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make[1]: *** [funcs.mk:254: /work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-695dfc8e042/./.stamp_configured] Error 1
make: *** [Makefile:224: build-linux64] Error 2
Build build-linux64 failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux64
funcs.mk:251: *** recipe commences before first target.  Stop.
Build build-linux64 failed with exit code 2

Tail of the build log:

/work/depends /work/abc-ci-builds/build-linux64
Extracting native_protobuf...
/root/abc-depends/sources/protobuf-22.0.tar.gz: OK
Preprocessing native_protobuf...
Configuring native_protobuf...
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 
-- 4.22.0.0
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
CMake Warning at cmake/abseil-cpp.cmake:28 (message):
  protobuf_ABSL_PROVIDER is "module" but ABSL_ROOT_DIR is wrong
Call Stack (most recent call first):
  CMakeLists.txt:345 (include)


CMake Error at third_party/utf8_range/CMakeLists.txt:31 (add_subdirectory):
  The source directory

    /work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-495abf5d6f8/third_party/abseil-cpp

  does not contain a CMakeLists.txt file.


-- Configuring incomplete, errors occurred!
See also "/work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-495abf5d6f8/CMakeFiles/CMakeOutput.log".
See also "/work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-495abf5d6f8/CMakeFiles/CMakeError.log".
make[1]: *** [funcs.mk:254: /work/depends/work/build/x86_64-linux-gnu/native_protobuf/22.0-495abf5d6f8/./.stamp_configured] Error 1
make: *** [Makefile:224: build-linux64] Error 2
Build build-linux64 failed with exit code 2

add rm commands to clean up after build

@bot build-linux32 build-linux64 build-linux-aarch64 build-linux-arm build-osx build-win64

also disable protobuf_DISABLE_RTTI=ON and protobuf_WITH_ZLIB=OFF

tobias_ruck retitled this revision from Bump protobuf version from 2.61 to 22.0 in native_protobuf.mk to Bump protobuf version from 2.61 to 22.0 in native_protobuf.mk + enable Chronik build again.Mar 2 2023, 11:19
tobias_ruck edited the summary of this revision. (Show Details)
tobias_ruck edited the test plan for this revision. (Show Details)

@bot build-linux32 build-linux-aarch64 build-linux-arm build-osx build-win64

@bot gitian-linux gitian-osx gitian-win

depends/packages/native_protobuf.mk
26 ↗(On Diff #38231)

There is no install-strip target ?

@bot gitian-linux gitian-osx gitian-win

tobias_ruck edited the summary of this revision. (Show Details)

Install protobuf using install/strip

@bot build-linux32 build-linux64 build-linux-aarch64 build-linux-arm build-osx build-win64

@bot gitian-linux gitian-osx gitian-win

@bot gitian-linux gitian-osx gitian-win

@bot gitian-linux gitian-osx gitian-win

Fabien retitled this revision from Bump protobuf version from 2.61 to 22.0 in native_protobuf.mk + enable Chronik build again to Bump protobuf version from 2.61 to 21.12 in native_protobuf.mk + enable Chronik build again.Mar 3 2023, 17:39

Rebase from master, update dependencies.md

@bot gitian-linux gitian-osx gitian-win

Fabien added inline comments.
doc/dependencies.md
26 ↗(On Diff #38310)

We should also enforce a min version and check it in the cmake file, but let's keep that for another diff

This revision is now accepted and ready to land.Mar 6 2023, 13:43