vbatts / copr-build-bazel

copr build of bazel | https://copr.fedorainfracloud.org/coprs/vbatts/bazel/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

No bazel5 on fedora:36 (and fedora:latest)

Mizux opened this issue · comments

commented

Docker hub just migrate fedora:latest to fedora:36 and we can't install bazel5 following the bazel install step....
ref: https://hub.docker.com/_/fedora
ref: https://bazel.build/install/redhat

https://download.copr.fedorainfracloud.org/results/vbatts/bazel/fedora-35-x86_64/ (bazel5)
https://download.copr.fedorainfracloud.org/results/vbatts/bazel/fedora-36-x86_64/ (no bazel5)

Any ETA ?

EDIT: I don't know the fedora CI ecosystem but I guess there is some culprit here: https://copr.fedorainfracloud.org/coprs/vbatts/bazel/build/3493215/

ps: If you need/want to give away maintenance/ownership of this package let me know ;)

@Mizux thanks for reaching out. Apologies I missed this!

It seems compiling bazel often is wrestling with <limits>. Since I last looked at this, there is still an issue:

SUBCOMMAND: # //src/main/cpp/util:filesystem [action 'Compiling src/main/cpp/util/file.cc', configuration: 420d59a20d5e3ca2685f8568af0bd1d01d366261653c3073d6906d0b217c0b95, execution platform: //:default_host_platform]
(cd /var/tmp/bazel_nEPnpFUI/out/execroot/io_bazel && \
  exec env - \
    PATH=/root/rpmbuild/BUILD/bazel-5.2.0/bin-hack:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    PWD=/proc/self/cwd \
  /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++0x' -MD -MF bazel-out/k8-opt/bin/src/main/cpp/util/_objs/filesystem/file.pic.d '-frandom-seed=bazel-out/k8-opt/bin/src/main/cpp/util/_objs/filesystem/file.pic.o' -fPIC -DBLAZE_OPENSOURCE -iquote . -iquote bazel-out/k8-opt/bin -include/usr/include/c++/11/limits -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c src/main/cpp/util/file.cc -o bazel-out/k8-opt/bin/src/main/cpp/util/_objs/filesystem/file.pic.o)
# Configuration: 420d59a20d5e3ca2685f8568af0bd1d01d366261653c3073d6906d0b217c0b95
# Execution platform: //:default_host_platform
ERROR: /root/rpmbuild/BUILD/bazel-5.2.0/src/main/cpp/util/BUILD:34:11: Compiling src/main/cpp/util/file.cc failed: (Exit 1): gcc failed: error executing command 
  (cd /var/tmp/bazel_nEPnpFUI/out/execroot/io_bazel && \
  exec env - \
    PATH=/root/rpmbuild/BUILD/bazel-5.2.0/bin-hack:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    PWD=/proc/self/cwd \
  /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++0x' -MD -MF bazel-out/k8-opt/bin/src/main/cpp/util/_objs/filesystem/file.pic.d '-frandom-seed=bazel-out/k8-opt/bin/src/main/cpp/util/_objs/filesystem/file.pic.o' -fPIC -DBLAZE_OPENSOURCE -iquote . -iquote bazel-out/k8-opt/bin -include/usr/include/c++/11/limits -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c src/main/cpp/util/file.cc -o bazel-out/k8-opt/bin/src/main/cpp/util/_objs/filesystem/file.pic.o)
# Configuration: 420d59a20d5e3ca2685f8568af0bd1d01d366261653c3073d6906d0b217c0b95
# Execution platform: //:default_host_platform
<command-line>: fatal error: /usr/include/c++/11/limits: No such file or directory
compilation terminated.
Target //src:bazel_nojdk failed to build
INFO: Elapsed time: 95.831s, Critical Path: 14.19s
INFO: 384 processes: 36 internal, 348 local.
FAILED: Build did NOT complete successfully

ERROR: Could not build Bazel
error: Bad exit status from /var/tmp/rpm-tmp.uew7RG (%build)

I recreated this just by bumping the version:

diff --git a/bazel.spec b/bazel.spec
index de58e68..dbf8389 100644
--- a/bazel.spec
+++ b/bazel.spec
@@ -3,7 +3,7 @@
 %define _disable_source_fetch 0
 
 Name:           bazel5
-Version:        5.0.0
+Version:        5.2.0
 Release:        0%{?dist}
 Summary:        Correct, reproducible, and fast builds for everyone.
 License:        Apache License 2.0

and then from this project's repo, run make .container.rebuild (double checking that your fedora:latest image is actually fedora36)

also, yes I need to hand over maintainership on the fedora builds

commented
  1. Need to check if these lines are still relevant
    %if 0%{?fedora} >= 34
    export CXXFLAGS="-include /usr/include/c++/11/limits -include /usr/include/c++/11/functional"
    export EXTRA_BAZEL_ARGS="${EXTRA_BAZEL_ARGS} --cxxopt=-include/usr/include/c++/11/limits"
    %endif

ps: I link this issue with Bazel 5 issue tracker, hope bazel folks will support you...
pps: Currently I cannot test locally in a fedora:36 docker since my corporate docker engine is 20.10.2 -_-
ref: https://pascalroeleven.nl/2021/09/09/ubuntu-21-10-and-fedora-35-in-docker/

commented

Bazel5 available on Fedora:latest (36) -> closing

FROM fedora:latest

RUN dnf -y install dnf-plugins-core \
&& dnf -y copr enable vbatts/bazel \
&& dnf -y install bazel5

RUN bazel version

Trace last command

bazel version
WARNING: Invoking Bazel in batch mode since it is not invoked from within a workspace (below a directory having a WORKSPACE file).
Extracting Bazel installation...
Build label: 5.3.0
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Aug 23 00:00:00 2022 (1661212800)
Build timestamp: 1661212800
Build timestamp as int: 1661212800

ps: Thx vbatts !