Compatibility issue with the latest version of icecream
When I compiled and installed the latest version of the source code, it failed. Error message:
ERROR [builder 29/31] RUN echo "=== 配置 icecream-sundae 构建环境 ===" && export CC=/opt/rh/devtoolset-8/root/bin/gcc && 3.7s
[builder 29/31] RUN echo "=== 配置 icecream-sundae 构建环境 ===" && export CC=/opt/rh/devtoolset-8/root/bin/gcc && export CXX=/opt/rh/devtoolset-8/root/bin/g++ && export PKG_CONFIG_PATH=/opt/icecream/lib/pkgconfig:$PKG_CONFIG_PATH && echo "验证编译器:" && $CC --version && $CXX --version && echo "验证 icecc 依赖:" && pkg-config --exists icecc && echo "✓ icecc 依赖找到" || echo "⚠ icecc 依赖未找到" && echo "使用 GCC 8 编译 icecream-sundae" && CC=$CC CXX=$CXX meson .. --buildtype release && ninja && ninja install:
0.109 === 配置 icecream-sundae 构建环境 ===
0.109 验证编译器: 0.110 gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) 0.110 Copyright (C) 2018 Free Software Foundation, Inc. 0.110 This is free software; see the source for copying conditions. There is NO 0.110 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 0.110 0.112 g++ (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) 0.112 Copyright (C) 2018 Free Software Foundation, Inc. 0.112 This is free software; see the source for copying conditions. There is NO 0.112 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 0.112 0.112 验证 icecc 依赖: 0.114 ✓ icecc 依赖找到 0.114 使用 GCC 8 编译 icecream-sundae 1.223 The Meson build system 1.223 Version: 0.55.1 1.223 Source dir: /icecream-sundae 1.223 Build dir: /icecream-sundae/builddir 1.223 Build type: native build 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 Project name: icecream-sundae 1.223 Project version: 1.1.0 1.223 Using 'CXX' from environment with value: '/opt/rh/devtoolset-8/root/bin/g++' 1.223 Using 'CXX' from environment with value: '/opt/rh/devtoolset-8/root/bin/g++' 1.223 C++ compiler for the host machine: /opt/rh/devtoolset-8/root/bin/g++ (gcc 8.3.1 "g++ (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)") 1.223 C++ linker for the host machine: /opt/rh/devtoolset-8/root/bin/g++ ld.bfd 2.30-55 1.223 Host machine cpu family: x86_64 1.223 Host machine cpu: x86_64 1.223 Found pkg-config: /usr/bin/pkg-config (0.27.1) 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 Run-time dependency icecc found: YES 1.4.90 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 Run-time dependency glib-2.0 found: YES 2.56.1 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 Run-time dependency ncursesw found: YES 5.9.20130511 1.223 Library dl found: YES 1.223 Checking if "libicecc links dynamically" with dependencies icecc, glib-2.0, ncursesw, -ldl links: NO 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 WARNING: Static library 'cap-ng' not found for dependency 'icecc', may not be statically linked 1.223 WARNING: Static library 'lzo2' not found for dependency 'icecc', may not be statically linked 1.223 WARNING: Static library 'zstd' not found for dependency 'icecc', may not be statically linked 1.223 WARNING: Static library 'archive' not found for dependency 'icecc', may not be statically linked 1.223 Run-time dependency icecc found: YES 1.4.90 1.223 Library lzo2 found: YES 1.223 Using 'PKG_CONFIG_PATH' from environment with value: '/opt/icecream/lib/pkgconfig:' 1.223 Run-time dependency libcap-ng found: YES 0.7.5 1.223 Library zstd found: YES 1.223 Checking if "libicecc C++11 compatability" with dependencies icecc, glib-2.0, ncursesw, -ldl, -llzo2, libcap-ng, -lzstd links: YES 1.223 Configuring config.h using configuration 1.223 Build targets in project: 1 1.223 1.223 Option buildtype is: release [default: debugoptimized] 1.223 Found ninja-1.10.2 at /usr/bin/ninja 1.879 [1/5] Compiling C++ object icecream-sundae.p/src_scheduler.cpp.o 1.880 FAILED: icecream-sundae.p/src_scheduler.cpp.o 1.880 /opt/rh/devtoolset-8/root/bin/g++ -Iicecream-sundae.p -I. -I.. -I../src -I/opt/icecream/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++14 -O3 -DNCURSES_WIDECHAR -MD -MQ icecream-sundae.p/src_scheduler.cpp.o -MF icecream-sundae.p/src_scheduler.cpp.o.d -o icecream-sundae.p/src_scheduler.cpp.o -c ../src/scheduler.cpp 1.880 ../src/scheduler.cpp: In member function 'bool IcecreamScheduler::process_message(MsgChannel*)': 1.880 ../src/scheduler.cpp:128:18: error: 'class Msg' has no member named 'type' 1.880 switch (msg->type) { 1.880 ^~~~ 1.880 ../src/scheduler.cpp:129:10: error: 'M_MON_LOCAL_JOB_BEGIN' was not declared in this scope 1.880 case M_MON_LOCAL_JOB_BEGIN: { 1.880 ^~~~~~~~~~~~~~~~~~~~~ 1.880 ../src/scheduler.cpp:134:10: error: 'M_JOB_LOCAL_DONE' was not declared in this scope 1.880 case M_JOB_LOCAL_DONE: { 1.880 ^~~~~~~~~~~~~~~~ 1.880 ../src/scheduler.cpp:139:10: error: 'M_MON_JOB_BEGIN' was not declared in this scope 1.880 case M_MON_JOB_BEGIN: { 1.880 ^~~~~~~~~~~~~~~ 1.880 ../src/scheduler.cpp:144:10: error: 'M_MON_JOB_DONE' was not declared in this scope 1.880 case M_MON_JOB_DONE: { 1.880 ^~~~~~~~~~~~~~ 1.880 ../src/scheduler.cpp:149:10: error: 'M_MON_GET_CS' was not declared in this scope 1.880 case M_MON_GET_CS: { 1.880 ^~~~~~~~~~~~ 1.880 ../src/scheduler.cpp:154:10: error: 'M_MON_STATS' was not declared in this scope 1.880 case M_MON_STATS: { 1.880 ^~~~~~~~~~~ 1.880 ../src/scheduler.cpp:154:10: note: suggested alternative: 'MOD_STATUS' 1.880 case M_MON_STATS: { 1.880 ^~~~~~~~~~~ 1.880 MOD_STATUS 1.880 ../src/scheduler.cpp:177:10: error: 'M_END' was not declared in this scope 1.880 case M_END: 1.880 ^~~~~ 2.375 [2/5] Compiling C++ object icecream-sundae.p/src_main.cpp.o 2.423 [3/5] Compiling C++ object icecream-sundae.p/src_simulator.cpp.o 3.644 [4/5] Compiling C++ object icecream-sundae.p/src_draw.cpp.o 3.644 ninja: build stopped: subcommand failed.
Dockerfile:172
171 | # 配置编译器环境和依赖路径 172 | >>> RUN echo "=== 配置 icecream-sundae 构建环境 ===" &&
173 | >>> export CC=/opt/rh/devtoolset-8/root/bin/gcc &&
174 | >>> export CXX=/opt/rh/devtoolset-8/root/bin/g++ &&
175 | >>> export PKG_CONFIG_PATH=/opt/icecream/lib/pkgconfig:$PKG_CONFIG_PATH &&
176 | >>> echo "验证编译器:" &&
177 | >>> $CC --version &&
178 | >>> $CXX --version &&
179 | >>> echo "验证 icecc 依赖:" &&
180 | >>> pkg-config --exists icecc && echo "✓ icecc 依赖找到" || echo "⚠ icecc 依赖未找到" &&
181 | >>> echo "使用 GCC 8 编译 icecream-sundae" &&
182 | >>> CC=$CC CXX=$CXX meson .. --buildtype release &&
183 | >>> ninja && ninja install 184 | WORKDIR /
ERROR: failed to solve: process "/bin/sh -c echo "=== 配置 icecream-sundae 构建环境 ===" && export CC=/opt/rh/devtoolset-8/root/bin/gcc && export CXX=/opt/rh/devtoolset-8/root/bin/g++ && export PKG_CONFIG_PATH=/opt/icecream/lib/pkgconfig:$PKG_CONFIG_PATH && echo "验证编译器:" && $CC --version && $CXX --version && echo "验证 icecc 依赖:" && pkg-config --exists icecc && echo "✓ icecc 依赖找到" || echo "⚠ icecc 依赖未找到" && echo "使用 GCC 8 编译 icecream-sundae" && CC=$CC CXX=$CXX meson .. --buildtype release && ninja && ninja install" did not complete successfully: exit code: 1
See #16 However, that PR needs to be reworked to support compiling against both the new version and the old version.
Thank you! I successfully built and installed it based on this PR, but there are some doubts during the use: The Remote is always 0, but I confirm that the worker is participating in the work, please see the following screen recording:
https://github.com/user-attachments/assets/fb2296d8-73d8-4ee4-8edc-66506a2433e8
Ya, something seems incorrect about that. It's not showing any remote compiles on icecc-worker-1 or icecc-worker-2