diff --git a/build_log.txt b/build_log.txt new file mode 100644 index 0000000..e5bc23b --- /dev/null +++ b/build_log.txt @@ -0,0 +1,189 @@ +#0 building with "desktop-linux" instance using docker driver + +#1 [internal] load build definition from Dockerfile.backend +#1 transferring dockerfile: 1.20kB done +#1 DONE 0.0s + +#2 resolve image config for docker-image://docker.io/docker/dockerfile:1 +#2 DONE 0.5s + +#3 docker-image://docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 +#3 resolve docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 done +#3 CACHED + +#4 [internal] load metadata for docker.io/library/ubuntu:24.04 +#4 DONE 0.3s + +#5 [internal] load .dockerignore +#5 transferring context: 2B done +#5 DONE 0.0s + +#6 [internal] load build context +#6 transferring context: 6.76kB done +#6 DONE 0.0s + +#7 [build 1/6] FROM docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b +#7 resolve docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b done +#7 DONE 0.0s + +#8 [build 2/6] RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential cmake ninja-build pkg-config libdrogon-dev libjsoncpp-dev libyaml-cpp-dev libhiredis-dev libpq-dev libmariadb-dev libmariadb-dev-compat libsqlite3-dev sqlite3 libssl-dev uuid-dev libbrotli-dev catch2 && rm -rf /var/lib/apt/lists/* +#8 CACHED + +#9 [build 4/6] COPY backend/ ./backend/ +#9 CACHED + +#10 [build 3/6] WORKDIR /src +#10 CACHED + +#11 [build 5/6] COPY CMakeLists.txt ./ +#11 CACHED + +#12 [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server +#12 0.121 -- The CXX compiler identification is GNU 13.3.0 +#12 0.128 -- Detecting CXX compiler ABI info +#12 0.151 -- Detecting CXX compiler ABI info - done +#12 0.154 -- Check for working CXX compiler: /usr/bin/c++ - skipped +#12 0.154 -- Detecting CXX compile features +#12 0.155 -- Detecting CXX compile features - done +#12 0.162 -- Found Jsoncpp: /usr/include/jsoncpp +#12 0.164 -- jsoncpp verson:1.9.5 +#12 0.165 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD +#12 0.188 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success +#12 0.188 -- Found Threads: TRUE +#12 0.190 -- Found UUID: /usr/lib/aarch64-linux-gnu/libuuid.so +#12 0.192 -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.3") +#12 0.197 -- Found PostgreSQL: /usr/lib/aarch64-linux-gnu/libpq.so (found version "16.11") +#12 0.197 -- pg inc: /usr/include/postgresql +#12 0.197 -- Found pg: /usr/lib/aarch64-linux-gnu/libpq.so +#12 0.198 -- Found SQLite3: /usr/lib/aarch64-linux-gnu/libsqlite3.so +#12 0.198 -- MySQL Include dir: /usr/include/mysql +#12 0.198 -- MySQL client libraries: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.198 -- Found MySQL: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.199 -- Found Brotli: /usr/lib/aarch64-linux-gnu/libbrotlidec.so +#12 0.200 -- Found Hiredis: /usr/lib/aarch64-linux-gnu/libhiredis.so +#12 0.201 -- Looking for C++ include filesystem +#12 0.335 -- Looking for C++ include filesystem - found +#12 0.335 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED +#12 0.484 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success +#12 0.499 -- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "3.0.13") +#12 0.500 -- Configuring done (0.4s) +#12 0.505 -- Generating done (0.0s) +#12 0.506 -- Build files have been written to: /src/build +#12 0.517 [1/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/version.cc.o +#12 0.825 [2/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/crypto.cc.o +#12 0.911 [3/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_service.cc.o +#12 0.914 [4/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/app_state.cc.o +#12 0.934 [5/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/user_service.cc.o +#12 1.138 [6/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o +#12 1.139 FAILED: backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o +#12 1.139 /usr/bin/c++ -I/src/backend/include -I/usr/include/jsoncpp -O3 -DNDEBUG -std=c++20 -MD -MT backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o -MF backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o.d -o backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o -c /src/backend/src/services/solution_access_service.cc +#12 1.139 In file included from /src/backend/src/services/solution_access_service.cc:1: +#12 1.139 /src/backend/include/csp/services/solution_access_service.h:40:3: error: 'SolutionViewStats' does not name a type +#12 1.139 40 | SolutionViewStats QueryUserProblemViewStats(int64_t user_id, +#12 1.139 | ^~~~~~~~~~~~~~~~~ +#12 1.139 /src/backend/include/csp/services/solution_access_service.h:43:8: error: 'vector' in namespace 'std' does not name a template type +#12 1.139 43 | std::vector ListRatingHistory(int64_t user_id, int limit); +#12 1.139 | ^~~~~~ +#12 1.139 /src/backend/include/csp/services/solution_access_service.h:7:1: note: 'std::vector' is defined in header ''; did you forget to '#include '? +#12 1.139 6 | #include +#12 1.139 +++ |+#include +#12 1.139 7 | #include +#12 1.139 /src/backend/src/services/solution_access_service.cc:128:1: error: 'SolutionViewChargeResult' does not name a type +#12 1.139 128 | SolutionViewChargeResult SolutionAccessService::ConsumeSolutionView( +#12 1.139 | ^~~~~~~~~~~~~~~~~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc:215:1: error: 'SolutionViewStats' does not name a type +#12 1.139 215 | SolutionViewStats SolutionAccessService::QueryUserProblemViewStats( +#12 1.139 | ^~~~~~~~~~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc:242:13: error: 'RatingHistoryItem' was not declared in this scope; did you mean 'csp::services::RatingHistoryItem'? +#12 1.139 242 | std::vector SolutionAccessService::ListRatingHistory(int64_t user_id, int limit) { +#12 1.139 | ^~~~~~~~~~~~~~~~~ +#12 1.139 | csp::services::RatingHistoryItem +#12 1.139 /src/backend/include/csp/services/solution_access_service.h:24:8: note: 'csp::services::RatingHistoryItem' declared here +#12 1.139 24 | struct RatingHistoryItem { +#12 1.139 | ^~~~~~~~~~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc:242:30: error: template argument 1 is invalid +#12 1.139 242 | std::vector SolutionAccessService::ListRatingHistory(int64_t user_id, int limit) { +#12 1.139 | ^ +#12 1.139 /src/backend/src/services/solution_access_service.cc:242:30: error: template argument 2 is invalid +#12 1.139 /src/backend/src/services/solution_access_service.cc:242:32: error: 'SolutionAccessService' has not been declared +#12 1.139 242 | std::vector SolutionAccessService::ListRatingHistory(int64_t user_id, int limit) { +#12 1.139 | ^~~~~~~~~~~~~~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc: In function 'int ListRatingHistory(int64_t, int)': +#12 1.139 /src/backend/src/services/solution_access_service.cc:246:17: error: 'RatingHistoryItem' was not declared in this scope; did you mean 'csp::services::RatingHistoryItem'? +#12 1.139 246 | std::vector items; +#12 1.139 | ^~~~~~~~~~~~~~~~~ +#12 1.139 | csp::services::RatingHistoryItem +#12 1.139 /src/backend/include/csp/services/solution_access_service.h:24:8: note: 'csp::services::RatingHistoryItem' declared here +#12 1.139 24 | struct RatingHistoryItem { +#12 1.139 | ^~~~~~~~~~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc:246:34: error: template argument 1 is invalid +#12 1.139 246 | std::vector items; +#12 1.139 | ^ +#12 1.139 /src/backend/src/services/solution_access_service.cc:246:34: error: template argument 2 is invalid +#12 1.139 /src/backend/src/services/solution_access_service.cc:247:19: error: 'db_' was not declared in this scope; did you mean 'db'? +#12 1.139 247 | sqlite3* db = db_.raw(); +#12 1.139 | ^~~ +#12 1.139 | db +#12 1.139 /src/backend/src/services/solution_access_service.cc:262:5: error: 'CheckSqlite' was not declared in this scope; did you mean 'csp::services::{anonymous}::CheckSqlite'? +#12 1.139 262 | CheckSqlite(sqlite3_prepare_v2(db, sql, -1, &stmt, nullptr), db, "prepare history query"); +#12 1.139 | ^~~~~~~~~~~ +#12 1.139 | csp::services::{anonymous}::CheckSqlite +#12 1.139 /src/backend/src/services/solution_access_service.cc:21:6: note: 'csp::services::{anonymous}::CheckSqlite' declared here +#12 1.139 21 | void CheckSqlite(int rc, sqlite3* db, const char* what) { +#12 1.139 | ^~~~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc:269:26: error: expected ';' before 'item' +#12 1.139 269 | RatingHistoryItem item; +#12 1.139 | ^~~~~ +#12 1.139 | ; +#12 1.139 /src/backend/src/services/solution_access_service.cc:270:9: error: 'item' was not declared in this scope; did you mean 'items'? +#12 1.139 270 | item.type = ColText(stmt, 0); +#12 1.139 | ^~~~ +#12 1.139 | items +#12 1.139 /src/backend/src/services/solution_access_service.cc:270:21: error: 'ColText' was not declared in this scope; did you mean 'csp::services::{anonymous}::ColText'? +#12 1.139 270 | item.type = ColText(stmt, 0); +#12 1.139 | ^~~~~~~ +#12 1.139 | csp::services::{anonymous}::ColText +#12 1.139 /src/backend/src/services/solution_access_service.cc:26:13: note: 'csp::services::{anonymous}::ColText' declared here +#12 1.139 26 | std::string ColText(sqlite3_stmt* stmt, int col) { +#12 1.139 | ^~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc:274:15: error: request for member 'push_back' in 'items', which is of non-class type 'int' +#12 1.139 274 | items.push_back(item); +#12 1.139 | ^~~~~~~~~ +#12 1.139 /src/backend/src/services/solution_access_service.cc: At global scope: +#12 1.139 /src/backend/src/services/solution_access_service.cc:280:1: error: expected declaration before '}' token +#12 1.139 280 | } // namespace csp::services +#12 1.139 | ^ +#12 1.185 [7/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/wrong_book_service.cc.o +#12 1.255 [8/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/auth_service.cc.o +#12 1.265 [9/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/db/sqlite_db.cc.o +#12 1.308 [10/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/contest_service.cc.o +#12 1.522 [11/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_service.cc.o +#12 1.585 [12/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/daily_task_service.cc.o +#12 1.680 [13/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/redeem_service.cc.o +#12 1.733 [14/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_workspace_service.cc.o +#12 1.747 [15/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_service.cc.o +#12 2.456 [16/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_import_runner.cc.o +#12 2.619 [17/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +#12 2.619 ninja: build stopped: subcommand failed. +#12 ERROR: process "/bin/sh -c cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server" did not complete successfully: exit code: 1 +------ + > [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server: +1.265 [9/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/db/sqlite_db.cc.o +1.308 [10/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/contest_service.cc.o +1.522 [11/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_service.cc.o +1.585 [12/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/daily_task_service.cc.o +1.680 [13/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/redeem_service.cc.o +1.733 [14/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_workspace_service.cc.o +1.747 [15/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_service.cc.o +2.456 [16/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_import_runner.cc.o +2.619 [17/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +2.619 ninja: build stopped: subcommand failed. +------ +Dockerfile.backend:18 +-------------------- + 17 | + 18 | >>> RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && \ + 19 | >>> cmake --build build --target csp_server + 20 | +-------------------- +ERROR: failed to build: failed to solve: process "/bin/sh -c cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server" did not complete successfully: exit code: 1 diff --git a/build_log_2.txt b/build_log_2.txt new file mode 100644 index 0000000..64f4914 --- /dev/null +++ b/build_log_2.txt @@ -0,0 +1,180 @@ +#0 building with "desktop-linux" instance using docker driver + +#1 [internal] load build definition from Dockerfile.backend +#1 transferring dockerfile: 1.20kB done +#1 DONE 0.0s + +#2 resolve image config for docker-image://docker.io/docker/dockerfile:1 +#2 DONE 0.3s + +#3 docker-image://docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 +#3 resolve docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 done +#3 CACHED + +#4 [internal] load metadata for docker.io/library/ubuntu:24.04 +#4 DONE 0.3s + +#5 [internal] load .dockerignore +#5 transferring context: 2B done +#5 DONE 0.0s + +#6 [internal] load build context +#6 transferring context: 6.76kB done +#6 DONE 0.0s + +#7 [build 1/6] FROM docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b +#7 resolve docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b done +#7 DONE 0.0s + +#8 [build 2/6] RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential cmake ninja-build pkg-config libdrogon-dev libjsoncpp-dev libyaml-cpp-dev libhiredis-dev libpq-dev libmariadb-dev libmariadb-dev-compat libsqlite3-dev sqlite3 libssl-dev uuid-dev libbrotli-dev catch2 && rm -rf /var/lib/apt/lists/* +#8 CACHED + +#9 [build 3/6] WORKDIR /src +#9 CACHED + +#10 [build 4/6] COPY backend/ ./backend/ +#10 CACHED + +#11 [build 5/6] COPY CMakeLists.txt ./ +#11 CACHED + +#12 [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server +#12 0.107 -- The CXX compiler identification is GNU 13.3.0 +#12 0.113 -- Detecting CXX compiler ABI info +#12 0.136 -- Detecting CXX compiler ABI info - done +#12 0.139 -- Check for working CXX compiler: /usr/bin/c++ - skipped +#12 0.139 -- Detecting CXX compile features +#12 0.139 -- Detecting CXX compile features - done +#12 0.142 -- Found Jsoncpp: /usr/include/jsoncpp +#12 0.143 -- jsoncpp verson:1.9.5 +#12 0.144 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD +#12 0.167 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success +#12 0.168 -- Found Threads: TRUE +#12 0.169 -- Found UUID: /usr/lib/aarch64-linux-gnu/libuuid.so +#12 0.170 -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.3") +#12 0.174 -- Found PostgreSQL: /usr/lib/aarch64-linux-gnu/libpq.so (found version "16.11") +#12 0.174 -- pg inc: /usr/include/postgresql +#12 0.174 -- Found pg: /usr/lib/aarch64-linux-gnu/libpq.so +#12 0.175 -- Found SQLite3: /usr/lib/aarch64-linux-gnu/libsqlite3.so +#12 0.175 -- MySQL Include dir: /usr/include/mysql +#12 0.175 -- MySQL client libraries: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.176 -- Found MySQL: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.176 -- Found Brotli: /usr/lib/aarch64-linux-gnu/libbrotlidec.so +#12 0.177 -- Found Hiredis: /usr/lib/aarch64-linux-gnu/libhiredis.so +#12 0.178 -- Looking for C++ include filesystem +#12 0.311 -- Looking for C++ include filesystem - found +#12 0.311 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED +#12 0.457 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success +#12 0.468 -- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "3.0.13") +#12 0.469 -- Configuring done (0.4s) +#12 0.474 -- Generating done (0.0s) +#12 0.475 -- Build files have been written to: /src/build +#12 0.488 [1/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/version.cc.o +#12 0.706 [2/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/app_state.cc.o +#12 0.802 [3/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/crypto.cc.o +#12 0.871 [4/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/user_service.cc.o +#12 0.891 [5/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_service.cc.o +#12 1.096 [6/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/wrong_book_service.cc.o +#12 1.191 [7/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o +#12 1.191 FAILED: backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o +#12 1.191 /usr/bin/c++ -I/src/backend/include -I/usr/include/jsoncpp -O3 -DNDEBUG -std=c++20 -MD -MT backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o -MF backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o.d -o backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o -c /src/backend/src/services/solution_access_service.cc +#12 1.191 /src/backend/src/services/solution_access_service.cc:128:1: error: 'SolutionViewChargeResult' does not name a type +#12 1.191 128 | SolutionViewChargeResult SolutionAccessService::ConsumeSolutionView( +#12 1.191 | ^~~~~~~~~~~~~~~~~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc:215:1: error: 'SolutionViewStats' does not name a type +#12 1.191 215 | SolutionViewStats SolutionAccessService::QueryUserProblemViewStats( +#12 1.191 | ^~~~~~~~~~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc:242:13: error: 'RatingHistoryItem' was not declared in this scope; did you mean 'csp::services::RatingHistoryItem'? +#12 1.191 242 | std::vector SolutionAccessService::ListRatingHistory(int64_t user_id, int limit) { +#12 1.191 | ^~~~~~~~~~~~~~~~~ +#12 1.191 | csp::services::RatingHistoryItem +#12 1.191 In file included from /src/backend/src/services/solution_access_service.cc:1: +#12 1.191 /src/backend/include/csp/services/solution_access_service.h:32:8: note: 'csp::services::RatingHistoryItem' declared here +#12 1.191 32 | struct RatingHistoryItem { +#12 1.191 | ^~~~~~~~~~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc:242:30: error: template argument 1 is invalid +#12 1.191 242 | std::vector SolutionAccessService::ListRatingHistory(int64_t user_id, int limit) { +#12 1.191 | ^ +#12 1.191 /src/backend/src/services/solution_access_service.cc:242:30: error: template argument 2 is invalid +#12 1.191 /src/backend/src/services/solution_access_service.cc:242:32: error: 'SolutionAccessService' has not been declared +#12 1.191 242 | std::vector SolutionAccessService::ListRatingHistory(int64_t user_id, int limit) { +#12 1.191 | ^~~~~~~~~~~~~~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc: In function 'int ListRatingHistory(int64_t, int)': +#12 1.191 /src/backend/src/services/solution_access_service.cc:246:17: error: 'RatingHistoryItem' was not declared in this scope; did you mean 'csp::services::RatingHistoryItem'? +#12 1.191 246 | std::vector items; +#12 1.191 | ^~~~~~~~~~~~~~~~~ +#12 1.191 | csp::services::RatingHistoryItem +#12 1.191 /src/backend/include/csp/services/solution_access_service.h:32:8: note: 'csp::services::RatingHistoryItem' declared here +#12 1.191 32 | struct RatingHistoryItem { +#12 1.191 | ^~~~~~~~~~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc:246:34: error: template argument 1 is invalid +#12 1.191 246 | std::vector items; +#12 1.191 | ^ +#12 1.191 /src/backend/src/services/solution_access_service.cc:246:34: error: template argument 2 is invalid +#12 1.191 /src/backend/src/services/solution_access_service.cc:247:19: error: 'db_' was not declared in this scope; did you mean 'db'? +#12 1.191 247 | sqlite3* db = db_.raw(); +#12 1.191 | ^~~ +#12 1.191 | db +#12 1.191 /src/backend/src/services/solution_access_service.cc:262:5: error: 'CheckSqlite' was not declared in this scope; did you mean 'csp::services::{anonymous}::CheckSqlite'? +#12 1.191 262 | CheckSqlite(sqlite3_prepare_v2(db, sql, -1, &stmt, nullptr), db, "prepare history query"); +#12 1.191 | ^~~~~~~~~~~ +#12 1.191 | csp::services::{anonymous}::CheckSqlite +#12 1.191 /src/backend/src/services/solution_access_service.cc:21:6: note: 'csp::services::{anonymous}::CheckSqlite' declared here +#12 1.191 21 | void CheckSqlite(int rc, sqlite3* db, const char* what) { +#12 1.191 | ^~~~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc:269:26: error: expected ';' before 'item' +#12 1.191 269 | RatingHistoryItem item; +#12 1.191 | ^~~~~ +#12 1.191 | ; +#12 1.191 /src/backend/src/services/solution_access_service.cc:270:9: error: 'item' was not declared in this scope; did you mean 'items'? +#12 1.191 270 | item.type = ColText(stmt, 0); +#12 1.191 | ^~~~ +#12 1.191 | items +#12 1.191 /src/backend/src/services/solution_access_service.cc:270:21: error: 'ColText' was not declared in this scope; did you mean 'csp::services::{anonymous}::ColText'? +#12 1.191 270 | item.type = ColText(stmt, 0); +#12 1.191 | ^~~~~~~ +#12 1.191 | csp::services::{anonymous}::ColText +#12 1.191 /src/backend/src/services/solution_access_service.cc:26:13: note: 'csp::services::{anonymous}::ColText' declared here +#12 1.191 26 | std::string ColText(sqlite3_stmt* stmt, int col) { +#12 1.191 | ^~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc:274:15: error: request for member 'push_back' in 'items', which is of non-class type 'int' +#12 1.191 274 | items.push_back(item); +#12 1.191 | ^~~~~~~~~ +#12 1.191 /src/backend/src/services/solution_access_service.cc: At global scope: +#12 1.191 /src/backend/src/services/solution_access_service.cc:280:1: error: expected declaration before '}' token +#12 1.191 280 | } // namespace csp::services +#12 1.191 | ^ +#12 1.213 [8/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_service.cc.o +#12 1.278 [9/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/db/sqlite_db.cc.o +#12 1.290 [10/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/contest_service.cc.o +#12 1.512 [11/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/auth_service.cc.o +#12 1.562 [12/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/redeem_service.cc.o +#12 1.606 [13/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/daily_task_service.cc.o +#12 1.631 [14/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_workspace_service.cc.o +#12 1.769 [15/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_service.cc.o +#12 2.397 [16/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_import_runner.cc.o +#12 2.508 [17/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_gen_runner.cc.o +#12 2.607 [18/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +#12 2.607 ninja: build stopped: subcommand failed. +#12 ERROR: process "/bin/sh -c cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server" did not complete successfully: exit code: 1 +------ + > [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server: +1.290 [10/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/contest_service.cc.o +1.512 [11/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/auth_service.cc.o +1.562 [12/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/redeem_service.cc.o +1.606 [13/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/daily_task_service.cc.o +1.631 [14/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_workspace_service.cc.o +1.769 [15/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_service.cc.o +2.397 [16/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_import_runner.cc.o +2.508 [17/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_gen_runner.cc.o +2.607 [18/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +2.607 ninja: build stopped: subcommand failed. +------ +Dockerfile.backend:18 +-------------------- + 17 | + 18 | >>> RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && \ + 19 | >>> cmake --build build --target csp_server + 20 | +-------------------- +ERROR: failed to build: failed to solve: process "/bin/sh -c cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server" did not complete successfully: exit code: 1 diff --git a/build_log_3.txt b/build_log_3.txt new file mode 100644 index 0000000..affdd71 --- /dev/null +++ b/build_log_3.txt @@ -0,0 +1,134 @@ +#0 building with "desktop-linux" instance using docker driver + +#1 [internal] load build definition from Dockerfile.backend +#1 transferring dockerfile: 1.20kB done +#1 DONE 0.0s + +#2 resolve image config for docker-image://docker.io/docker/dockerfile:1 +#2 DONE 1.1s + +#3 docker-image://docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 +#3 resolve docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 0.0s done +#3 CACHED + +#4 [internal] load metadata for docker.io/library/ubuntu:24.04 +#4 DONE 1.1s + +#5 [internal] load .dockerignore +#5 transferring context: 2B done +#5 DONE 0.0s + +#6 [internal] load build context +#6 transferring context: 16.62kB done +#6 DONE 0.0s + +#7 [build 1/6] FROM docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b +#7 resolve docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b done +#7 DONE 0.0s + +#8 [build 2/6] RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential cmake ninja-build pkg-config libdrogon-dev libjsoncpp-dev libyaml-cpp-dev libhiredis-dev libpq-dev libmariadb-dev libmariadb-dev-compat libsqlite3-dev sqlite3 libssl-dev uuid-dev libbrotli-dev catch2 && rm -rf /var/lib/apt/lists/* +#8 CACHED + +#9 [build 3/6] WORKDIR /src +#9 CACHED + +#10 [build 4/6] COPY backend/ ./backend/ +#10 DONE 0.0s + +#11 [build 5/6] COPY CMakeLists.txt ./ +#11 DONE 0.0s + +#12 [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server +#12 0.100 -- The CXX compiler identification is GNU 13.3.0 +#12 0.105 -- Detecting CXX compiler ABI info +#12 0.128 -- Detecting CXX compiler ABI info - done +#12 0.131 -- Check for working CXX compiler: /usr/bin/c++ - skipped +#12 0.131 -- Detecting CXX compile features +#12 0.132 -- Detecting CXX compile features - done +#12 0.134 -- Found Jsoncpp: /usr/include/jsoncpp +#12 0.135 -- jsoncpp verson:1.9.5 +#12 0.136 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD +#12 0.159 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success +#12 0.159 -- Found Threads: TRUE +#12 0.160 -- Found UUID: /usr/lib/aarch64-linux-gnu/libuuid.so +#12 0.162 -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.3") +#12 0.165 -- Found PostgreSQL: /usr/lib/aarch64-linux-gnu/libpq.so (found version "16.11") +#12 0.165 -- pg inc: /usr/include/postgresql +#12 0.166 -- Found pg: /usr/lib/aarch64-linux-gnu/libpq.so +#12 0.166 -- Found SQLite3: /usr/lib/aarch64-linux-gnu/libsqlite3.so +#12 0.167 -- MySQL Include dir: /usr/include/mysql +#12 0.167 -- MySQL client libraries: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.167 -- Found MySQL: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.167 -- Found Brotli: /usr/lib/aarch64-linux-gnu/libbrotlidec.so +#12 0.168 -- Found Hiredis: /usr/lib/aarch64-linux-gnu/libhiredis.so +#12 0.169 -- Looking for C++ include filesystem +#12 0.302 -- Looking for C++ include filesystem - found +#12 0.302 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED +#12 0.449 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success +#12 0.461 -- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "3.0.13") +#12 0.462 -- Configuring done (0.4s) +#12 0.466 -- Generating done (0.0s) +#12 0.467 -- Build files have been written to: /src/build +#12 0.478 [1/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/version.cc.o +#12 0.804 [2/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/crypto.cc.o +#12 0.886 [3/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/user_service.cc.o +#12 0.914 [4/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/app_state.cc.o +#12 1.102 [5/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_service.cc.o +#12 1.116 [6/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/wrong_book_service.cc.o +#12 1.159 [7/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_service.cc.o +#12 1.230 [8/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/auth_service.cc.o +#12 1.269 [9/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/daily_task_service.cc.o +#12 1.421 [10/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o +#12 1.482 [11/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/contest_service.cc.o +#12 1.624 [12/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/domain/enum_strings.cc.o +#12 1.670 [13/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/db/sqlite_db.cc.o +#12 1.775 [14/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/redeem_service.cc.o +#12 1.876 [15/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/domain/json.cc.o +#12 2.009 [16/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_service.cc.o +#12 2.083 [17/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/import_service.cc.o +#12 2.244 [18/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_feedback_service.cc.o +#12 2.313 [19/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_workspace_service.cc.o +#12 3.237 [20/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/submission_controller.cc.o +#12 3.238 FAILED: backend/CMakeFiles/csp_web.dir/src/controllers/submission_controller.cc.o +#12 3.238 /usr/bin/c++ -DHAS_YAML_CPP -I/src/backend/include -isystem /usr/include/jsoncpp -O3 -DNDEBUG -std=c++20 -MD -MT backend/CMakeFiles/csp_web.dir/src/controllers/submission_controller.cc.o -MF backend/CMakeFiles/csp_web.dir/src/controllers/submission_controller.cc.o.d -o backend/CMakeFiles/csp_web.dir/src/controllers/submission_controller.cc.o -c /src/backend/src/controllers/submission_controller.cc +#12 3.239 /src/backend/src/controllers/submission_controller.cc: In member function 'void csp::controllers::SubmissionController::getSubmission(const drogon::HttpRequestPtr&, std::function&)>&&, int64_t)': +#12 3.239 /src/backend/src/controllers/submission_controller.cc:196:30: error: request for member 'has_value' in 'stats.csp::services::SolutionViewStats::last_viewed_at', which is of non-class type 'const int64_t' {aka 'const long int'} +#12 3.239 196 | if (stats.last_viewed_at.has_value()) { +#12 3.239 | ^~~~~~~~~ +#12 3.239 /src/backend/src/controllers/submission_controller.cc:197:52: error: invalid type argument of unary '*' (have 'int64_t' {aka 'long int'}) +#12 3.239 197 | payload["last_answer_view_at"] = Json::Int64(*stats.last_viewed_at); +#12 3.239 | ^~~~~~~~~~~~~~~~~~~~~ +#12 3.927 [21/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_import_runner.cc.o +#12 3.949 [22/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/auth_controller.cc.o +#12 3.981 [23/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/leaderboard_controller.cc.o +#12 3.984 [24/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/import_runner.cc.o +#12 4.183 [25/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_gen_runner.cc.o +#12 4.201 [26/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +#12 4.309 [27/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/contest_controller.cc.o +#12 4.355 [28/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/kb_controller.cc.o +#12 4.523 [29/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/problem_controller.cc.o +#12 4.569 [30/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/admin_controller.cc.o +#12 4.781 [31/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/me_controller.cc.o +#12 4.781 ninja: build stopped: subcommand failed. +#12 ERROR: process "/bin/sh -c cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server" did not complete successfully: exit code: 1 +------ + > [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server: +3.981 [23/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/leaderboard_controller.cc.o +3.984 [24/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/import_runner.cc.o +4.183 [25/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_gen_runner.cc.o +4.201 [26/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +4.309 [27/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/contest_controller.cc.o +4.355 [28/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/kb_controller.cc.o +4.523 [29/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/problem_controller.cc.o +4.569 [30/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/admin_controller.cc.o +4.781 [31/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/me_controller.cc.o +4.781 ninja: build stopped: subcommand failed. +------ +Dockerfile.backend:18 +-------------------- + 17 | + 18 | >>> RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && \ + 19 | >>> cmake --build build --target csp_server + 20 | +-------------------- +ERROR: failed to build: failed to solve: process "/bin/sh -c cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server" did not complete successfully: exit code: 1 diff --git a/build_log_4.txt b/build_log_4.txt new file mode 100644 index 0000000..3cecbc7 --- /dev/null +++ b/build_log_4.txt @@ -0,0 +1,133 @@ +#0 building with "desktop-linux" instance using docker driver + +#1 [internal] load build definition from Dockerfile.backend +#1 transferring dockerfile: 1.20kB done +#1 DONE 0.0s + +#2 resolve image config for docker-image://docker.io/docker/dockerfile:1 +#2 DONE 1.2s + +#3 docker-image://docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 +#3 resolve docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 0.0s done +#3 CACHED + +#4 [internal] load metadata for docker.io/library/ubuntu:24.04 +#4 DONE 0.8s + +#5 [internal] load .dockerignore +#5 transferring context: 2B done +#5 DONE 0.0s + +#6 [internal] load build context +#6 transferring context: 8.05kB done +#6 DONE 0.0s + +#7 [build 1/6] FROM docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b +#7 resolve docker.io/library/ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b done +#7 DONE 0.0s + +#8 [build 2/6] RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential cmake ninja-build pkg-config libdrogon-dev libjsoncpp-dev libyaml-cpp-dev libhiredis-dev libpq-dev libmariadb-dev libmariadb-dev-compat libsqlite3-dev sqlite3 libssl-dev uuid-dev libbrotli-dev catch2 && rm -rf /var/lib/apt/lists/* +#8 CACHED + +#9 [build 3/6] WORKDIR /src +#9 CACHED + +#10 [build 4/6] COPY backend/ ./backend/ +#10 DONE 0.0s + +#11 [build 5/6] COPY CMakeLists.txt ./ +#11 DONE 0.0s + +#12 [build 6/6] RUN cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release && cmake --build build --target csp_server +#12 0.122 -- The CXX compiler identification is GNU 13.3.0 +#12 0.130 -- Detecting CXX compiler ABI info +#12 0.155 -- Detecting CXX compiler ABI info - done +#12 0.159 -- Check for working CXX compiler: /usr/bin/c++ - skipped +#12 0.159 -- Detecting CXX compile features +#12 0.159 -- Detecting CXX compile features - done +#12 0.167 -- Found Jsoncpp: /usr/include/jsoncpp +#12 0.169 -- jsoncpp verson:1.9.5 +#12 0.170 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD +#12 0.194 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success +#12 0.195 -- Found Threads: TRUE +#12 0.196 -- Found UUID: /usr/lib/aarch64-linux-gnu/libuuid.so +#12 0.199 -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.3") +#12 0.203 -- Found PostgreSQL: /usr/lib/aarch64-linux-gnu/libpq.so (found version "16.11") +#12 0.203 -- pg inc: /usr/include/postgresql +#12 0.203 -- Found pg: /usr/lib/aarch64-linux-gnu/libpq.so +#12 0.204 -- Found SQLite3: /usr/lib/aarch64-linux-gnu/libsqlite3.so +#12 0.204 -- MySQL Include dir: /usr/include/mysql +#12 0.204 -- MySQL client libraries: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.205 -- Found MySQL: /usr/lib/aarch64-linux-gnu/libmysqlclient_r.so +#12 0.206 -- Found Brotli: /usr/lib/aarch64-linux-gnu/libbrotlidec.so +#12 0.206 -- Found Hiredis: /usr/lib/aarch64-linux-gnu/libhiredis.so +#12 0.208 -- Looking for C++ include filesystem +#12 0.333 -- Looking for C++ include filesystem - found +#12 0.333 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED +#12 0.471 -- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success +#12 0.488 -- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "3.0.13") +#12 0.490 -- Configuring done (0.4s) +#12 0.495 -- Generating done (0.0s) +#12 0.496 -- Build files have been written to: /src/build +#12 0.508 [1/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/version.cc.o +#12 0.731 [2/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/app_state.cc.o +#12 0.918 [3/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_service.cc.o +#12 0.931 [4/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/user_service.cc.o +#12 1.049 [5/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/crypto.cc.o +#12 1.108 [6/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/wrong_book_service.cc.o +#12 1.165 [7/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/auth_service.cc.o +#12 1.332 [8/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/contest_service.cc.o +#12 1.352 [9/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/solution_access_service.cc.o +#12 1.386 [10/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/daily_task_service.cc.o +#12 1.551 [11/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/db/sqlite_db.cc.o +#12 1.609 [12/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/domain/enum_strings.cc.o +#12 1.648 [13/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/redeem_service.cc.o +#12 1.971 [14/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/import_service.cc.o +#12 1.997 [15/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_workspace_service.cc.o +#12 2.010 [16/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_service.cc.o +#12 2.045 [17/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/domain/json.cc.o +#12 2.377 [18/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_feedback_service.cc.o +#12 2.681 [19/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/submission_service.cc.o +#12 3.305 [20/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/kb_import_runner.cc.o +#12 3.504 [21/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_gen_runner.cc.o +#12 3.565 [22/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/auth_controller.cc.o +#12 3.919 [23/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/leaderboard_controller.cc.o +#12 3.924 [24/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/import_runner.cc.o +#12 4.325 [25/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/problem_controller.cc.o +#12 4.487 [26/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/me_controller.cc.o +#12 4.490 [27/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/contest_controller.cc.o +#12 4.735 [28/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/kb_controller.cc.o +#12 4.820 [29/39] Building CXX object backend/CMakeFiles/csp_core.dir/src/services/problem_solution_runner.cc.o +#12 4.844 [30/39] Linking CXX static library backend/libcsp_core.a +#12 5.041 [31/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/admin_controller.cc.o +#12 5.063 [32/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/problem_gen_controller.cc.o +#12 5.221 [33/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/import_controller.cc.o +#12 5.286 [34/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/health_controller.cc.o +#12 5.313 [35/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/submission_controller.cc.o +#12 5.480 [36/39] Building CXX object backend/CMakeFiles/csp_web.dir/src/controllers/meta_controller.cc.o +#12 5.490 [37/39] Linking CXX static library backend/libcsp_web.a +#12 5.585 [38/39] Building CXX object backend/CMakeFiles/csp_server.dir/src/main.cc.o +#12 5.651 [39/39] Linking CXX executable backend/csp_server +#12 DONE 5.7s + +#13 [runtime 2/5] RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y libdrogon1t64 libjsoncpp25 libyaml-cpp0.8 libhiredis1.1.0 libpq5 libmariadb3 libsqlite3-0 libssl3t64 libuuid1 ca-certificates g++ python3 python3-requests curl poppler-utils && rm -rf /var/lib/apt/lists/* +#13 CACHED + +#14 [runtime 3/5] WORKDIR /app +#14 CACHED + +#15 [runtime 4/5] COPY --from=build /src/build/backend/csp_server /app/csp_server +#15 DONE 0.0s + +#16 [runtime 5/5] COPY scripts/ /app/scripts/ +#16 DONE 0.0s + +#17 exporting to image +#17 exporting layers 0.0s done +#17 exporting manifest sha256:3e6ae247b75c340ad6d4b4012cda30a46a1bed1ed49812c302cf93638f605d83 done +#17 exporting config sha256:83fdffca6fc19370c879d0a70582b6ee4085e6da60e701b14f7c29eb37c71dfc done +#17 exporting attestation manifest sha256:4146efbd2d242f9cfd3c4d0fd278a676352f49a1c03dcaa0974cc458358d24cf done +#17 exporting manifest list sha256:cd1c5234b803f57010cb76045f63ea8cab1e22fe331834b30b2da88ebd049156 done +#17 naming to moby-dangling@sha256:cd1c5234b803f57010cb76045f63ea8cab1e22fe331834b30b2da88ebd049156 done +#17 unpacking to moby-dangling@sha256:cd1c5234b803f57010cb76045f63ea8cab1e22fe331834b30b2da88ebd049156 done +#17 DONE 0.1s diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 6187bb5..c7ab19a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -11,6 +11,7 @@ "@monaco-editor/react": "^4.7.0", "highlight.js": "^11.11.1", "katex": "^0.16.28", + "lucide-react": "^0.564.0", "next": "16.1.6", "react": "19.2.3", "react-dom": "19.2.3", @@ -6321,6 +6322,15 @@ "yallist": "^3.0.2" } }, + "node_modules/lucide-react": { + "version": "0.564.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.564.0.tgz", + "integrity": "sha512-JJ8GVTQqFwuliifD48U6+h7DXEHdkhJ/E87kksGByII3qHxtPciVb8T8woQONHBQgHVOl7rSMrrip3SeVNy7Fg==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", diff --git a/frontend/package.json b/frontend/package.json index 62924d5..756df74 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,6 +12,7 @@ "@monaco-editor/react": "^4.7.0", "highlight.js": "^11.11.1", "katex": "^0.16.28", + "lucide-react": "^0.564.0", "next": "16.1.6", "react": "19.2.3", "react-dom": "19.2.3", diff --git a/frontend/src/app/admin-redeem/page.tsx b/frontend/src/app/admin-redeem/page.tsx index 9682a4d..404e003 100644 --- a/frontend/src/app/admin-redeem/page.tsx +++ b/frontend/src/app/admin-redeem/page.tsx @@ -5,6 +5,7 @@ import { useEffect, useState } from "react"; import { apiFetch } from "@/lib/api"; import { readToken } from "@/lib/auth"; import { useI18nText } from "@/lib/i18n"; +import { Edit, Gift, Plus, RefreshCw, ScrollText, Search, Trash2, Coins } from "lucide-react"; type RedeemItem = { id: number; @@ -167,7 +168,8 @@ export default function AdminRedeemPage() { return (
-

+

+ {tx("管理员:积分兑换管理", "Admin: Redeem Management")}

@@ -241,10 +243,17 @@ export default function AdminRedeemPage() {

-

{tx("兑换物品列表", "Redeem Items")}

+

+ + {tx("兑换物品列表", "Redeem Items")} +

{items.map((item) => (
@@ -291,10 +304,12 @@ export default function AdminRedeemPage() {

{item.description || "-"}

- -
@@ -308,7 +323,10 @@ export default function AdminRedeemPage() {
-

{tx("兑换记录", "Redeem Records")}

+

+ + {tx("兑换记录", "Redeem Records")} +

-

+

+ {tx("管理员用户与积分", "Admin Users & Rating")}

@@ -85,10 +87,11 @@ export default function AdminUsersPage() {

@@ -103,7 +106,10 @@ export default function AdminUsersPage() { ID {tx("用户名", "Username")} - Rating + + + Rating + {tx("创建时间", "Created At")} {tx("操作", "Action")} @@ -130,9 +136,10 @@ export default function AdminUsersPage() { {fmtTs(user.created_at)} diff --git a/frontend/src/app/api-docs/page.tsx b/frontend/src/app/api-docs/page.tsx index 7fec815..1d30eb3 100644 --- a/frontend/src/app/api-docs/page.tsx +++ b/frontend/src/app/api-docs/page.tsx @@ -2,6 +2,8 @@ import dynamic from "next/dynamic"; import { useEffect, useMemo, useState } from "react"; +import Link from "next/link"; +import { FileCode, ArrowLeft } from "lucide-react"; import { API_BASE, apiFetch } from "@/lib/api"; import { readToken } from "@/lib/auth"; @@ -71,9 +73,16 @@ export default function ApiDocsPage() { return (
-

- {tx("API 文档(Swagger)", "API Docs (Swagger)")} -

+
+

+ + {tx("API 文档(Swagger)", "API Docs (Swagger)")} +

+ + + {tx("返回", "Back")} + +
diff --git a/frontend/src/app/auth/page.tsx b/frontend/src/app/auth/page.tsx index dff5bda..637c8bf 100644 --- a/frontend/src/app/auth/page.tsx +++ b/frontend/src/app/auth/page.tsx @@ -3,6 +3,7 @@ import Link from "next/link"; import { useEffect, useMemo, useState } from "react"; import { useRouter } from "next/navigation"; +import { Eye, EyeOff, Key, LogIn, User, UserPlus } from "lucide-react"; import { API_BASE, apiFetch } from "@/lib/api"; import { readToken, saveToken } from "@/lib/auth"; @@ -104,9 +105,9 @@ export default function AuthPage() {
- +
- + {strength.label}
- + setShowPassword(e.target.checked)} className="accent-[color:var(--mc-wood)]" /> + {showPassword ? : } {tx("显示口令", "Reveal Secret")} diff --git a/frontend/src/app/backend-logs/page.tsx b/frontend/src/app/backend-logs/page.tsx index 3fa8b6c..87d86f9 100644 --- a/frontend/src/app/backend-logs/page.tsx +++ b/frontend/src/app/backend-logs/page.tsx @@ -6,6 +6,7 @@ import { useEffect, useState } from "react"; import { apiFetch } from "@/lib/api"; import { readToken } from "@/lib/auth"; import { useI18nText } from "@/lib/i18n"; +import { Activity, AlertCircle, List, Play, RefreshCw, Server, Trash2, Zap } from "lucide-react"; type BackendLogItem = { id: number; @@ -277,7 +278,8 @@ export default function BackendLogsPage() { return (
-

+

+ {tx("后台日志(题解异步队列)", "Backend Logs (Async Solution Queue)")}

@@ -288,10 +290,11 @@ export default function BackendLogsPage() { {tx("缺失答案题目", "Problems missing answers")} {missingProblems} -
@@ -401,7 +405,10 @@ export default function BackendLogsPage() {
-

{tx("正在处理(Running)", "Running Jobs")}

+

+ + {tx("正在处理(Running)", "Running Jobs")} +

{tx("当前题目 ID:", "Current problem IDs:")} {runningIds.length ? runningIds.join(", ") : tx("无", "None")} @@ -423,7 +430,10 @@ export default function BackendLogsPage() {

-

{tx("待处理队列(Queued)", "Queued Jobs")}

+

+ + {tx("待处理队列(Queued)", "Queued Jobs")} +

{tx("待处理题目 ID(预览):", "Queued problem IDs (preview):")} {queuedIds.length ? queuedIds.join(", ") : tx("无", "None")} diff --git a/frontend/src/app/contests/page.tsx b/frontend/src/app/contests/page.tsx index cd00901..0fc3e61 100644 --- a/frontend/src/app/contests/page.tsx +++ b/frontend/src/app/contests/page.tsx @@ -6,6 +6,7 @@ import { useEffect, useState } from "react"; import { apiFetch } from "@/lib/api"; import { useI18nText } from "@/lib/i18n"; import { useUiPreferences } from "@/components/ui-preference-provider"; +import { Calendar, Swords, Timer, Trophy, Shield } from "lucide-react"; type Contest = { id: number; @@ -44,7 +45,7 @@ export default function ContestsPage() {

{isMc ? ( - ⚔️ + {tx("突袭公告板", "Raid Board")} ) : ( @@ -66,13 +67,19 @@ export default function ContestsPage() { >
-

- {isMc && 🛡️} +

+ {isMc && } {c.title}

-
-

{tx("开始", "Start")}: {new Date(c.starts_at * 1000).toLocaleString()}

-

{tx("结束", "End")}: {new Date(c.ends_at * 1000).toLocaleString()}

+
+

+ {isMc && } + {tx("开始", "Start")}: {new Date(c.starts_at * 1000).toLocaleString()} +

+

+ {isMc && } + {tx("结束", "End")}: {new Date(c.ends_at * 1000).toLocaleString()} +

{isMc && ( diff --git a/frontend/src/app/imports/page.tsx b/frontend/src/app/imports/page.tsx index 9e2b7af..6280aa3 100644 --- a/frontend/src/app/imports/page.tsx +++ b/frontend/src/app/imports/page.tsx @@ -6,6 +6,7 @@ import { useEffect, useMemo, useState } from "react"; import { apiFetch } from "@/lib/api"; import { readToken } from "@/lib/auth"; import { useI18nText } from "@/lib/i18n"; +import { Activity, HardDrive, Play, RefreshCw, Server, FileText, CheckCircle, XCircle, Clock } from "lucide-react"; type ImportJob = { id: number; @@ -253,7 +254,8 @@ export default function ImportsPage() { return (
-

+

+ {tx("题库导入/出题任务", "Import / Generation Jobs")}

@@ -336,7 +338,17 @@ export default function ImportsPage() { onClick={() => void runImport()} disabled={loading || running} > - {running ? tx("导入中...", "Importing...") : tx("启动导入任务", "Start Import Job")} + {running ? ( + + + {tx("导入中...", "Importing...")} + + ) : ( + + + {tx("启动导入任务", "Start Import Job")} + + )} {runMode === "luogu" && ( )} - - + + {running ? : } {running ? tx("运行中", "Running") : tx("空闲", "Idle")}
@@ -500,6 +514,6 @@ export default function ImportsPage() {

-
+ ); } diff --git a/frontend/src/app/kb/page.tsx b/frontend/src/app/kb/page.tsx index f422294..d652d7c 100644 --- a/frontend/src/app/kb/page.tsx +++ b/frontend/src/app/kb/page.tsx @@ -6,6 +6,16 @@ import { useCallback, useEffect, useMemo, useState } from "react"; import { apiFetch } from "@/lib/api"; import { readToken } from "@/lib/auth"; import { useI18nText } from "@/lib/i18n"; +import { + Book, + Code2, + FileQuestion, + Library, + Map as MapIcon, + RefreshCw, + Shield, + Sword, +} from "lucide-react"; type Article = { id: number; @@ -198,13 +208,17 @@ export default function KbListPage() { return (
-

{tx("学习知识库", "Knowledge Base")}

+

+ + {tx("学习知识库", "Knowledge Base")} +

{canManageRefresh ? (
@@ -355,12 +376,16 @@ export default function MePage() { {/* Rating History Section */}
-

{tx("积分变动记录", "Rating History")}

+

+ + {tx("积分变动记录", "Rating History")} +

{historyItems.map((item, idx) => (
- 0 ? 'text-[color:var(--mc-green)]' : 'text-[color:var(--mc-red)]'}`}> + 0 ? 'text-[color:var(--mc-green)]' : 'text-[color:var(--mc-red)]'}`}> + {item.change > 0 ? : } {item.change > 0 ? `+${item.change}` : item.change} {item.note} @@ -381,10 +406,11 @@ export default function MePage() {

{tx("交易记录", "Trade History")}

diff --git a/frontend/src/app/not-found.tsx b/frontend/src/app/not-found.tsx new file mode 100644 index 0000000..ea822b8 --- /dev/null +++ b/frontend/src/app/not-found.tsx @@ -0,0 +1,43 @@ +"use client"; + +import Link from "next/link"; +import { useUiPreferences } from "@/components/ui-preference-provider"; +import { useI18nText } from "@/lib/i18n"; +import { AlertTriangle } from "lucide-react"; + +export default function NotFound() { + const { theme } = useUiPreferences(); + const { tx } = useI18nText(); + const isMc = theme === "minecraft"; + + return ( +
+ {isMc ? ( +
+
👾
+

+ {tx("这里是虚空...", "THE VOID")} +

+

+ {tx("你来到了世界的尽头。", "You have reached the end of the world.")} +

+
+ + 🏠 + {tx("重生 (返回首页)", "Respawn (Home)")} + +
+
+ ) : ( +
+ +

404 - Page Not Found

+

The page you are looking for does not exist.

+ + Back to Home + +
+ )} +
+ ); +} diff --git a/frontend/src/app/problems/page.tsx b/frontend/src/app/problems/page.tsx index f42cd27..1313fb5 100644 --- a/frontend/src/app/problems/page.tsx +++ b/frontend/src/app/problems/page.tsx @@ -3,6 +3,20 @@ import Link from "next/link"; import { useCallback, useEffect, useMemo, useState } from "react"; +import { + Book, + ChevronLeft, + ChevronRight, + Globe, + Search, + Shield, + Sword, + Tag, + Trophy, + Filter, + ArrowUpDown +} from "lucide-react"; + import { apiFetch } from "@/lib/api"; import { useI18nText } from "@/lib/i18n"; @@ -87,6 +101,7 @@ const QUICK_CARDS = [ titleEn: "CSP-J Trials", descZh: "普及组入门任务", descEn: "Junior Tier Quests", + icon: Sword, }, { presetKey: "csp-s", @@ -94,6 +109,7 @@ const QUICK_CARDS = [ titleEn: "CSP-S Challenges", descZh: "提高组进阶任务", descEn: "Senior Tier Quests", + icon: Shield, }, { presetKey: "noip-junior", @@ -101,6 +117,7 @@ const QUICK_CARDS = [ titleEn: "NOIP Basics", descZh: "算法与思维", descEn: "Algorithm & Logic", + icon: Book, }, ] as const; @@ -269,35 +286,43 @@ export default function ProblemsPage() { ); })}
- +
+ + +
@@ -422,13 +448,17 @@ export default function ProblemsPage() {
{tags.length === 0 && -} {tags.map((tag) => ( - + + {tag} ))}
- {problem.source || "-"} + + + {problem.source || "-"} + ); })} @@ -450,21 +480,21 @@ export default function ProblemsPage() {
{isZh ? `第 ${page} / ${totalPages} 页` : `Page ${page} / ${totalPages}`}
diff --git a/frontend/src/app/run/page.tsx b/frontend/src/app/run/page.tsx index 0fb0727..f82af4c 100644 --- a/frontend/src/app/run/page.tsx +++ b/frontend/src/app/run/page.tsx @@ -4,6 +4,7 @@ import { useState } from "react"; import { apiFetch } from "@/lib/api"; import { useI18nText } from "@/lib/i18n"; +import { AlertTriangle, Code2, Monitor, Play, Terminal, Timer } from "lucide-react"; type RunResult = { status: string; @@ -50,13 +51,17 @@ export default function RunPage() { return (
-

+

+ {tx("在线 C++ 编写 / 编译 / 运行", "Online C++ Editor / Compile / Run")}

-

{tx("代码", "Code")}

+

+ + {tx("代码", "Code")} +