Rebase to Fedora 43 with clang 21.1 and libstdc++ 15. Fedora container image registry moved to registry.fedoraproject.org as it seems to be updated more regularly. Added python3-devel to the dependencies as some packages scylla-cqlsh depends on aren't yet available in the form of wheels for Python 3.14, and so have to be built locally. In any case it's better to reduce dependency on those wheels even if the ones currently missing appear eventually. Added libev-devel to the dependencies so that the python driver builds correctly even if "wheels" are not published. This reduces our dependency on the python driver's binary release schedule. Without libev-devel, TLS does not work correctly. We no long remove the clang and clang-libs packages. Doxygen started depending on clang-libs, and removing them removes doxygen, breaking the build when it looks for that. The build will still pick up the optimized clang, since /usr/local/bin is earlier in the path. We keep the clang package, since it allows us to mess a little less with the directory structure. Optimized clang binaries generates and stored in https://devpkg.scylladb.com/clang/clang-21.1.6-Fedora-43-aarch64.tar.gz https://devpkg.scylladb.com/clang/clang-21.1.6-Fedora-43-x86_64.tar.gz With ./scripts/refresh-pgo-profiles.sh, the new compiler shows a small performance improvement (instructions_per_op) in perf-simple-query: clang 21: 259353.60 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35720 insns/op, 17427 cycles/op, 0 errors) 265940.08 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35725 insns/op, 17042 cycles/op, 0 errors) 262650.01 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35720 insns/op, 17240 cycles/op, 0 errors) 262881.22 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35675 insns/op, 17222 cycles/op, 0 errors) 264898.68 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35732 insns/op, 17070 cycles/op, 0 errors) throughput: mean= 263144.72 standard-deviation=2528.69 median= 262881.22 median-absolute-deviation=1753.96 maximum=265940.08 minimum=259353.60 instructions_per_op: mean= 35714.47 standard-deviation=22.34 median= 35720.38 median-absolute-deviation=10.20 maximum=35732.14 minimum=35675.50 cpu_cycles_per_op: mean= 17200.12 standard-deviation=154.62 median= 17221.70 median-absolute-deviation=129.77 maximum=17427.33 minimum=17041.57 clang 20: 254431.39 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35883 insns/op, 17708 cycles/op, 0 errors) 259701.02 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35883 insns/op, 17351 cycles/op, 0 errors) 261166.92 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35912 insns/op, 17270 cycles/op, 0 errors) 260656.31 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35869 insns/op, 17289 cycles/op, 0 errors) 259628.13 tps ( 64.1 allocs/op, 0.0 logallocs/op, 14.1 tasks/op, 35946 insns/op, 17370 cycles/op, 0 errors) throughput: mean= 259116.75 standard-deviation=2698.56 median= 259701.02 median-absolute-deviation=1539.55 maximum=261166.92 minimum=254431.39 instructions_per_op: mean= 35898.42 standard-deviation=30.69 median= 35882.97 median-absolute-deviation=15.90 maximum=35945.63 minimum=35869.02 cpu_cycles_per_op: mean= 17397.49 standard-deviation=178.35 median= 17351.35 median-absolute-deviation=108.79 maximum=17707.63 minimum=17269.68 Closes scylladb/scylladb#26773
20 lines
668 B
Docker
20 lines
668 B
Docker
FROM registry.fedoraproject.org/fedora:43
|
|
|
|
ARG CLANG_BUILD="SKIP"
|
|
ARG CLANG_ARCHIVES
|
|
|
|
WORKDIR /mnt
|
|
RUN echo install_weak_deps=False >> /etc/dnf/dnf.conf
|
|
RUN dnf -y update \
|
|
&& dnf -y install 'dnf-command(copr)' \
|
|
&& dnf -y install ccache \
|
|
&& dnf -y install devscripts debhelper fakeroot file rpm-build \
|
|
&& ./install-dependencies.sh && dnf clean all \
|
|
&& rm -rf /root/.cache /root/.cargo \
|
|
&& echo 'ALL ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers \
|
|
&& cp ./tools/toolchain/system-auth /etc/pam.d \
|
|
&& echo 'Defaults !requiretty' >> /etc/sudoers
|
|
RUN mkdir -p /root/.m2/repository
|
|
RUN ./tools/toolchain/optimized_clang.sh
|
|
CMD /bin/bash
|