diff --git a/.github/workflows/Dockerfile.buster b/.github/workflows/Dockerfile.buster index c19dd5ef5a..ccba9c49f2 100644 --- a/.github/workflows/Dockerfile.buster +++ b/.github/workflows/Dockerfile.buster @@ -20,9 +20,10 @@ RUN apt-get update && \ apt-get update && \ apt-get install -y --no-install-recommends \ git cmake-data=3.18* cmake=3.18* make g++ gperf netcat \ - python3.7 python3-dev libpython3-dev python3-pip python3-setuptools python3-wheel mysql-server libmysqlclient-dev && \ + python3.7 python3-dev libpython3-dev python3-pip python3-setuptools mysql-server libmysqlclient-dev libssh2-1 libssh2-1-dev libbrotli-dev libglobus-gssapi-gsi-dev \ + libglobus-gssapi-gsi4 libc-ares-dev libkrb5-dev && \ pip3 install -r /tmp/requirements.txt && \ - apt-get install -y --no-install-recommends curl-kphp-vk kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \ + apt-get install -y --no-install-recommends curl-kphp-vk=20240228.buster.65.build.642 kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \ libzstd-dev libyaml-cpp-dev libnghttp2-dev zlib1g-dev php7.4-dev libldap-dev libkrb5-dev \ postgresql postgresql-server-dev-all libnuma-dev composer && \ rm -rf /var/lib/apt/lists/* && \ diff --git a/.github/workflows/Dockerfile.focal b/.github/workflows/Dockerfile.focal index 255e51a82d..2cc56af4ab 100644 --- a/.github/workflows/Dockerfile.focal +++ b/.github/workflows/Dockerfile.focal @@ -13,9 +13,10 @@ RUN apt-get update && \ apt-get update && \ apt-get install -y --no-install-recommends \ git cmake make clang g++ g++-10 gperf netcat \ - python3.7 python3-pip python3.7-distutils python3.7-dev libpython3.7-dev python3-jsonschema python3-setuptools mysql-server libmysqlclient-dev && \ + python3.7 python3-pip python3.7-distutils python3.7-dev libpython3.7-dev python3-jsonschema python3-setuptools mysql-server libmysqlclient-dev libssh2-1 libssh2-1-dev libbrotli-dev libglobus-gssapi-gsi-dev \ + libglobus-gssapi-gsi4 libc-ares-dev libkrb5-dev && \ python3.7 -m pip install pip && python3.7 -m pip install -r /tmp/requirements.txt && \ - apt-get install -y --no-install-recommends curl-kphp-vk kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \ + apt-get install -y --no-install-recommends curl-kphp-vk=20240228.focal.60.build.642 kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \ libzstd-dev libyaml-cpp-dev libnghttp2-dev zlib1g-dev php7.4-dev libldap-dev libkrb5-dev \ postgresql postgresql-server-dev-all libnuma-dev composer unzip && \ rm -rf /var/lib/apt/lists/* diff --git a/.github/workflows/Dockerfile.jammy b/.github/workflows/Dockerfile.jammy index 1dd63369c2..45defbe0a5 100644 --- a/.github/workflows/Dockerfile.jammy +++ b/.github/workflows/Dockerfile.jammy @@ -15,9 +15,10 @@ RUN apt update && \ apt update && \ apt install -y --no-install-recommends \ git cmake make g++ lld gperf netcat \ - python3.7 python3-pip python3.7-distutils python3.7-dev libpython3.7-dev python3-jsonschema python3-setuptools mysql-server libmysqlclient-dev && \ + python3.7 python3-pip python3.7-distutils python3.7-dev libpython3.7-dev python3-jsonschema python3-setuptools mysql-server libmysqlclient-dev libssh2-1 libssh2-1-dev libbrotli-dev libglobus-gssapi-gsi-dev \ + libglobus-gssapi-gsi4 libc-ares-dev libkrb5-dev && \ python3.7 -m pip install pip && python3.7 -m pip install -r /tmp/requirements.txt && \ - apt install -y --no-install-recommends curl-kphp-vk kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \ + apt install -y --no-install-recommends curl-kphp-vk=20240228.jammy.62.build.642 kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \ libzstd-dev libyaml-cpp-dev libnghttp2-dev zlib1g-dev php7.4-dev libnuma-dev unzip \ libldap-dev libkrb5-dev postgresql postgresql-server-dev-all && \ rm -rf /var/lib/apt/lists/* diff --git a/compiler/compiler-settings.cpp b/compiler/compiler-settings.cpp index 6d17d6d0b0..e6e1e53215 100644 --- a/compiler/compiler-settings.cpp +++ b/compiler/compiler-settings.cpp @@ -135,6 +135,7 @@ void append_curl(std::string &cxx_flags, std::string &ld_flags) noexcept { const std::string curl_dir = "/opt/curl7600"; cxx_flags += " -I" + curl_dir + "/include/"; ld_flags += " " + curl_dir + "/lib/libcurl.a"; + ld_flags += " -lssh2 -lcares -lbrotlicommon -lbrotlidec"; #endif } } diff --git a/runtime/runtime.cmake b/runtime/runtime.cmake index 0739061987..326e16c5b3 100644 --- a/runtime/runtime.cmake +++ b/runtime/runtime.cmake @@ -160,7 +160,7 @@ target_link_libraries(kphp-full-runtime PUBLIC ${RUNTIME_LIBS}) set_target_properties(kphp-full-runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${OBJS_DIR}) prepare_cross_platform_libs(RUNTIME_LINK_TEST_LIBS pcre nghttp2 kphp-timelib) -set(RUNTIME_LINK_TEST_LIBS vk::flex_data_static ${CURL_LIB} OpenSSL::SSL ${NUMA_LIB} ${RUNTIME_LINK_TEST_LIBS} ${EPOLL_SHIM_LIB} ${ICONV_LIB} ${RT_LIB}) +set(RUNTIME_LINK_TEST_LIBS vk::flex_data_static ${CURL_LIB} OpenSSL::SSL ${NUMA_LIB} ${RUNTIME_LINK_TEST_LIBS} ${EPOLL_SHIM_LIB} ${ICONV_LIB} ${RT_LIB} cares brotlicommon brotlidec ssh2) if (PDO_DRIVER_MYSQL) list(APPEND RUNTIME_LINK_TEST_LIBS mysqlclient) diff --git a/tests/python/tests/curl/test_curl_resumable.py b/tests/python/tests/curl/test_curl_resumable.py index 2e59714284..8db9f6b5b0 100644 --- a/tests/python/tests/curl/test_curl_resumable.py +++ b/tests/python/tests/curl/test_curl_resumable.py @@ -53,7 +53,7 @@ def test_curl_resumable_timeout(self): def test_curl_resumable_nonexistent_url(self): self.assertEqual(self._curl_request("nonexistent_url"), { - "exec_result": False + "exec_result": '' }) def test_curl_resumable_connection_only_success(self): @@ -63,5 +63,5 @@ def test_curl_resumable_connection_only_success(self): def test_curl_resumable_connection_only_fail(self): self.assertEqual(self._curl_request("nonexistent_url", connect_only=True), { - "exec_result": False + "exec_result": '' })