li-plus / chatglm.cpp

C++ implementation of ChatGLM-6B & ChatGLM2-6B & ChatGLM3 & GLM4(V)
MIT License
2.92k stars 334 forks source link

在ARM上构建docker镜像出现异常 #325

Open hooploop opened 3 months ago

hooploop commented 3 months ago

使用下面的docker构建命令在arrch64主机上构建镜像 docker build . --network=host -t chatglm.cpp-cuda-arm64 \ --build-arg BASE_IMAGE=nvidia/cuda:11.4.0-devel-ubuntu20.04 \ --build-arg CMAKE_ARGS="-DGGML_CUBLAS=ON -DCUDA_ARCHITECTURES=75"

52.51 Building wheels for collected packages: chatglm-cpp 52.51 Building wheel for chatglm-cpp (pyproject.toml): started 54.66 Building wheel for chatglm-cpp (pyproject.toml): finished with status 'error' 54.67 error: subprocess-exited-with-error 54.67 54.67 × Building wheel for chatglm-cpp (pyproject.toml) did not run successfully. 54.67 │ exit code: 1 54.67 ╰─> [152 lines of output] 54.67 running bdist_wheel 54.67 running build 54.67 running build_py 54.67 creating build 54.67 creating build/lib.linux-aarch64-cpython-38 54.67 creating build/lib.linux-aarch64-cpython-38/chatglm_cpp 54.67 copying chatglm_cpp/init.py -> build/lib.linux-aarch64-cpython-38/chatglm_cpp 54.67 copying chatglm_cpp/convert.py -> build/lib.linux-aarch64-cpython-38/chatglm_cpp 54.67 copying chatglm_cpp/langchain_api.py -> build/lib.linux-aarch64-cpython-38/chatglm_cpp 54.67 copying chatglm_cpp/openai_api.py -> build/lib.linux-aarch64-cpython-38/chatglm_cpp 54.67 running egg_info 54.67 writing chatglm_cpp.egg-info/PKG-INFO 54.67 writing dependency_links to chatglm_cpp.egg-info/dependency_links.txt 54.67 writing requirements to chatglm_cpp.egg-info/requires.txt 54.67 writing top-level names to chatglm_cpp.egg-info/top_level.txt 54.67 reading manifest file 'chatglm_cpp.egg-info/SOURCES.txt' 54.67 reading manifest template 'MANIFEST.in' 54.67 adding license file 'LICENSE' 54.67 writing manifest file 'chatglm_cpp.egg-info/SOURCES.txt' 54.67 copying chatglm_cpp/_C.pyi -> build/lib.linux-aarch64-cpython-38/chatglm_cpp 54.67 running build_ext 54.67 -- The CXX compiler identification is GNU 9.3.0 54.67 -- Detecting CXX compiler ABI info 54.67 -- Detecting CXX compiler ABI info - done 54.67 -- Check for working CXX compiler: /usr/bin/c++ - skipped 54.67 -- Detecting CXX compile features 54.67 -- Detecting CXX compile features - done 54.67 -- The C compiler identification is GNU 9.3.0 54.67 -- Detecting C compiler ABI info 54.67 -- Detecting C compiler ABI info - done 54.67 -- Check for working C compiler: /usr/bin/cc - skipped 54.67 -- Detecting C compile features 54.67 -- Detecting C compile features - done 54.67 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD 54.67 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed 54.67 -- Looking for pthread_create in pthreads 54.67 -- Looking for pthread_create in pthreads - not found 54.67 -- Looking for pthread_create in pthread 54.67 -- Looking for pthread_create in pthread - found 54.67 -- Found Threads: TRUE 54.67 -- CMAKE_SYSTEM_PROCESSOR: aarch64 54.67 GNU ld (GNU Binutils for Ubuntu) 2.34 54.67 -- ARM detected 54.67 CMake Deprecation Warning at third_party/sentencepiece/CMakeLists.txt:15 (cmake_minimum_required): 54.67 Compatibility with CMake < 3.5 will be removed from a future version of 54.67 CMake. 54.67 54.67 Update the VERSION argument value or use a ... suffix to tell 54.67 CMake that the project does not need compatibility with older versions. 54.67 54.67 54.67 -- VERSION: 0.2.00 54.67 -- Found atomic: /usr/lib/aarch64-linux-gnu/libatomic.so.1 54.67 -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 54.67 -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success 54.67 -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX20 54.67 -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX20 - Failed 54.67 CMake Warning at third_party/abseil-cpp/CMakeLists.txt:202 (message): 54.67 The default and system-level install directories are unsupported except in LTS releases of Abseil. Please set CMAKE_INSTALL_PREFIX to install Abseil in your source or build tree directly. 54.67 54.67 54.67 -- Check if compiler accepts -pthread 54.67 -- Check if compiler accepts -pthread - yes 54.67 -- pybind11 v2.11.1 54.67 CMake Warning (dev) at third_party/pybind11/tools/FindPythonLibsNew.cmake:98 (find_package): 54.67 Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 54.67 are removed. Run "cmake --help-policy CMP0148" for policy details. Use 54.67 the cmake_policy command to set the policy and suppress this warning. 54.67 54.67 Call Stack (most recent call first): 54.67 third_party/pybind11/tools/pybind11Tools.cmake:50 (find_package) 54.67 third_party/pybind11/tools/pybind11Common.cmake:188 (include) 54.67 third_party/pybind11/CMakeLists.txt:210 (include) 54.67 This warning is for project developers. Use -Wno-dev to suppress it. 54.67 54.67 -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3.6") 54.67 -- Found PythonLibs: python3.8 54.67 -- Performing Test HAS_FLTO 54.67 -- Performing Test HAS_FLTO - Success 54.67 -- Configuring done (1.1s) 54.67 CMake Error in CMakeLists.txt: 54.67 Imported target "pybind11::module" includes non-existent path 54.67 54.67 "/usr/include/python3.8" 54.67 54.67 in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: 54.67 54.67 The path was deleted, renamed, or moved to another location. 54.67 54.67 An install or uninstall procedure did not complete successfully. 54.67 54.67 * The installation package was faulty and references files it does not 54.67 provide. 54.67 54.67 54.67 54.67 -- Generating done (0.3s) 54.67 CMake Generate step failed. Build files cannot be regenerated correctly. 54.67 Traceback (most recent call last): 54.67 File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in 54.67 main() 54.67 File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main 54.67 json_out['return_val'] = hook(hook_input['kwargs']) 54.67 File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel 54.67 return _build_backend().build_wheel(wheel_directory, config_settings, 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 415, in build_wheel 54.67 return self._build_with_temp_dir( 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 397, in _build_with_temp_dir 54.67 self.run_setup() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 313, in run_setup 54.67 exec(code, locals()) 54.67 File "", line 127, in 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/init.py", line 103, in setup 54.67 return distutils.core.setup(attrs) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 184, in setup 54.67 return run_commands(dist) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 200, in run_commands 54.67 dist.run_commands() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands 54.67 self.run_command(cmd) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 976, in run_command 54.67 super().run_command(command) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command 54.67 cmd_obj.run() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/command/bdist_wheel.py", line 373, in run 54.67 self.run_command("build") 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command 54.67 self.distribution.run_command(command) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 976, in run_command 54.67 super().run_command(command) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command 54.67 cmd_obj.run() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 132, in run 54.67 self.run_command(cmd_name) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command 54.67 self.distribution.run_command(command) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 976, in run_command 54.67 super().run_command(command) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command 54.67 cmd_obj.run() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 93, in run 54.67 _build_ext.run(self) 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run 54.67 self.build_extensions() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 479, in build_extensions 54.67 self._build_extensions_serial() 54.67 File "/tmp/pip-build-env-tdunk8bh/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 505, in _build_extensions_serial 54.67 self.build_extension(ext) 54.67 File "", line 120, in build_extension 54.67 File "/usr/lib/python3.8/subprocess.py", line 516, in run 54.67 raise CalledProcessError(retcode, process.args, 54.67 subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-68vy89px/chatglm-cpp_1d26891ffe5c4aa7887e14098981b2e9', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-68vy89px/chatglm-cpp_1d26891ffe5c4aa7887e14098981b2e9/build/lib.linux-aarch64-cpython-38/chatglm_cpp/', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-DCMAKE_BUILD_TYPE=Release', '-DCHATGLM_ENABLE_PYBIND=ON', '-DCHATGLM_ENABLE_EXAMPLES=OFF']' returned non-zero exit status 1. 54.67 [end of output] 54.67 54.67 note: This error originates from a subprocess, and is likely not a problem with pip. 54.67 ERROR: Failed building wheel for chatglm-cpp 54.67 Failed to build chatglm-cpp 54.67 ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (chatglm-cpp)

Dockerfile:54 53 | 54 | >>> RUN \ 55 | >>> python3 -m pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple pip && \ 56 | >>> python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \ 57 | >>> python3 -m pip install --no-cache-dir -f dist 'chatglm-cpp[api]' && \ 58 | >>> rm -rf dist 59 | ERROR: failed to solve: process "/bin/sh -c python3 -m pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple pip && python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && python3 -m pip install --no-cache-dir -f dist 'chatglm-cpp[api]' && rm -rf dist" did not complete successfully: exit code: 1