“sys/time.h” Replacement for Windows

本文提供了一种针对GNU编译器家族中sys/time.h头文件在Windows平台上的替代实现,包括三个主要文件:time.h、times.h及times.cpp。此替代方案使原本依赖于该头文件的C/C++代码能够在Windows环境下成功编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://www.codefull.org/2015/12/systime-h-replacement-for-windows/

Some C/C++ code targeted for GNU family compilers fail to compile under Windows due to the dependency on sys/time.h header file. The repository here has provided a neat implementation for it. Basically you need these three files: time.htimes.h and times.cpp. I have included them here (in case the repository ever went dead). Note that this is not my code and the original license of the code was LGPL.

sys/time.h:

sys/times.h:

sys/times.cpp:

 

 

(li) lenovo@lenovo-ThinkStation-P920:/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan$ pip install -v --no-cache-dir --force-reinstall . 2>&1 | tee build.log Using pip 25.1 from /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/pip (python 3.10) Looking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple Processing /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan Preparing metadata (setup.py): started Running command python setup.py egg_info A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.6 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 35, in <module> File "/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/setup.py", line 17, in <module> import torch File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/__init__.py", line 1471, in <module> from .functional import * # noqa: F403 File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/functional.py", line 9, in <module> import torch.nn.functional as F File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/__init__.py", line 1, in <module> from .modules import * # noqa: F403 File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/__init__.py", line 35, in <module> from .transformer import TransformerEncoder, TransformerDecoder, \ File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/transformer.py", line 20, in <module> device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/transformer.py:20: UserWarning: Failed to initialize NumPy: _ARRAY_API not found (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:84.) device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), torch.__version__ = 2.2.0+cu118 CUDA_HOME = /home/lenovo/anaconda3/envs/li CUDA version: 11.8 /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info creating /tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info writing /tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/PKG-INFO writing dependency_links to /tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/dependency_links.txt writing requirements to /tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/requires.txt writing top-level names to /tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/top_level.txt writing manifest file '/tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/SOURCES.txt' reading manifest file '/tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/SOURCES.txt' writing manifest file '/tmp/pip-pip-egg-info-w2djvsss/selective_scan.egg-info/SOURCES.txt' Preparing metadata (setup.py): finished with status 'done' Collecting torch (from selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/0a/7c/0a5b3aee977596459ec45be2220370fde8e017f651fecc40522fd478cb1e/torch-2.7.1-cp310-cp310-manylinux_2_28_x86_64.whl (821.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 821.2/821.2 MB 1.1 MB/s eta 0:00:00 Collecting packaging (from selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl (66 kB) Collecting ninja (from selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/eb/7a/455d2877fe6cf99886849c7f9755d897df32eaf3a0fba47b56e615f880f7/ninja-1.11.1.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (422 kB) Collecting einops (from selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/87/62/9773de14fe6c45c23649e98b83231fffd7b9892b6cf863251dc2afa73643/einops-0.8.1-py3-none-any.whl (64 kB) Collecting filelock (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl (16 kB) Collecting typing-extensions>=4.10.0 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl (43 kB) Collecting sympy>=1.13.3 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl (6.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 946.1 kB/s eta 0:00:00 Link requires a different Python (3.10.18 not in: '>=3.11'): https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl (from https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/networkx/) (requires-python:>=3.11) Link requires a different Python (3.10.18 not in: '>=3.11'): https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz (from https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/networkx/) (requires-python:>=3.11) Link requires a different Python (3.10.18 not in: '>=3.11'): https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/3f/a1/46c1b6e202e3109d2a035b21a7e5534c5bb233ee30752d7f16a0bd4c3989/networkx-3.5rc0-py3-none-any.whl (from https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/networkx/) (requires-python:>=3.11) Link requires a different Python (3.10.18 not in: '>=3.11'): https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/90/7e/0319606a20ced20730806b9f7fe91d8a92f7da63d76a5c388f87d3f7d294/networkx-3.5rc0.tar.gz (from https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/networkx/) (requires-python:>=3.11) Collecting networkx (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl (1.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 883.3 kB/s eta 0:00:00 Collecting jinja2 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl (134 kB) Collecting fsspec (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/bb/61/78c7b3851add1481b048b5fdc29067397a1784e2910592bc81bb3f608635/fsspec-2025.5.1-py3-none-any.whl (199 kB) Collecting nvidia-cuda-nvrtc-cu12==12.6.77 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/75/2e/46030320b5a80661e88039f59060d1790298b4718944a65a7f2aeda3d9e9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl (23.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.7/23.7 MB 1.1 MB/s eta 0:00:00 Collecting nvidia-cuda-runtime-cu12==12.6.77 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/e1/23/e717c5ac26d26cf39a27fbc076240fad2e3b817e5889d671b67f4f9f49c5/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (897 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 897.7/897.7 kB 1.7 MB/s eta 0:00:00 Collecting nvidia-cuda-cupti-cu12==12.6.80 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/49/60/7b6497946d74bcf1de852a21824d63baad12cd417db4195fc1bfe59db953/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.9/8.9 MB 1.1 MB/s eta 0:00:00 Collecting nvidia-cudnn-cu12==9.5.1.17 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/2a/78/4535c9c7f859a64781e43c969a3a7e84c54634e319a996d43ef32ce46f83/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl (571.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 571.0/571.0 MB 1.1 MB/s eta 0:00:00 Collecting nvidia-cublas-cu12==12.6.4.1 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/af/eb/ff4b8c503fa1f1796679dce648854d58751982426e4e4b37d6fce49d259c/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (393.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 393.1/393.1 MB 889.2 kB/s eta 0:00:00 Collecting nvidia-cufft-cu12==11.3.0.4 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/8f/16/73727675941ab8e6ffd86ca3a4b7b47065edcca7a997920b831f8147c99d/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (200.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 200.2/200.2 MB 761.5 kB/s eta 0:00:00 Collecting nvidia-curand-cu12==10.3.7.77 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/73/1b/44a01c4e70933637c93e6e1a8063d1e998b50213a6b65ac5a9169c47e98e/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 1.1 MB/s eta 0:00:00 Collecting nvidia-cusolver-cu12==11.7.1.2 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/f0/6e/c2cf12c9ff8b872e92b4a5740701e51ff17689c4d726fca91875b07f655d/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (158.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.2/158.2 MB 881.4 kB/s eta 0:00:00 Collecting nvidia-cusparse-cu12==12.5.4.2 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/06/1e/b8b7c2f4099a37b96af5c9bb158632ea9e5d9d27d7391d7eb8fc45236674/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (216.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 216.6/216.6 MB 1.4 MB/s eta 0:00:00 Collecting nvidia-cusparselt-cu12==0.6.3 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/3b/9a/72ef35b399b0e183bc2e8f6f558036922d453c4d8237dab26c666a04244b/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl (156.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.8/156.8 MB 887.6 kB/s eta 0:00:00 Collecting nvidia-nccl-cu12==2.26.2 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/67/ca/f42388aed0fddd64ade7493dbba36e1f534d4e6fdbdd355c6a90030ae028/nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (201.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 201.3/201.3 MB 1.1 MB/s eta 0:00:00 Collecting nvidia-nvtx-cu12==12.6.77 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/56/9a/fff8376f8e3d084cd1530e1ef7b879bb7d6d265620c95c1b322725c694f4/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (89 kB) Collecting nvidia-nvjitlink-cu12==12.6.85 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/9d/d7/c5383e47c7e9bf1c99d5bd2a8c935af2b6d705ad831a7ec5c97db4d82f4f/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (19.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.7/19.7 MB 1.9 MB/s eta 0:00:00 Collecting nvidia-cufile-cu12==1.11.1.6 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/b2/66/cc9876340ac68ae71b15c743ddb13f8b30d5244af344ec8322b449e35426/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 1.9 MB/s eta 0:00:00 Collecting triton==3.3.1 (from torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/8d/a9/549e51e9b1b2c9b854fd761a1d23df0ba2fbc60bd0c13b489ffa518cfcb7/triton-3.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (155.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.6/155.6 MB 758.4 kB/s eta 0:00:00 Collecting setuptools>=40.8.0 (from triton==3.3.1->torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 872.9 kB/s eta 0:00:00 Collecting mpmath<1.4,>=1.1.0 (from sympy>=1.13.3->torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl (536 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 919.5 kB/s eta 0:00:00 Collecting MarkupSafe>=2.0 (from jinja2->torch->selective_scan==0.0.2) Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB) Building wheels for collected packages: selective_scan DEPRECATION: Building 'selective_scan' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'selective_scan'. Discussion can be found at https://github.com/pypa/pip/issues/6334 Building wheel for selective_scan (setup.py): started Running command python setup.py bdist_wheel A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.6 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 35, in <module> File "/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/setup.py", line 17, in <module> import torch File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/__init__.py", line 1471, in <module> from .functional import * # noqa: F403 File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/functional.py", line 9, in <module> import torch.nn.functional as F File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/__init__.py", line 1, in <module> from .modules import * # noqa: F403 File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/__init__.py", line 35, in <module> from .transformer import TransformerEncoder, TransformerDecoder, \ File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/transformer.py", line 20, in <module> device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/transformer.py:20: UserWarning: Failed to initialize NumPy: _ARRAY_API not found (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:84.) device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), torch.__version__ = 2.2.0+cu118 CUDA_HOME = /home/lenovo/anaconda3/envs/li CUDA version: 11.8 /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_ext /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/utils/cpp_extension.py:425: UserWarning: There are no g++ version bounds defined for CUDA version 11.8 warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}') building 'selective_scan_cuda_core' extension creating /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus Emitting ninja build file /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/build.ninja... Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N) [1/3] c++ -MMD -MF '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan.o'.d -pthread -B /home/lenovo/anaconda3/envs/li/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/lenovo/anaconda3/envs/li/include -fPIC -O2 -isystem /home/lenovo/anaconda3/envs/li/include -fPIC '-I/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan' -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/TH -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/THC -I/home/lenovo/anaconda3/envs/li/include -I/home/lenovo/anaconda3/envs/li/include/python3.10 -c -c '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan.cpp' -o '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan.o' -O3 -std=c++17 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=selective_scan_cuda_core -D_GLIBCXX_USE_CXX11_ABI=0 FAILED: /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan.o c++ -MMD -MF '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan.o'.d -pthread -B /home/lenovo/anaconda3/envs/li/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/lenovo/anaconda3/envs/li/include -fPIC -O2 -isystem /home/lenovo/anaconda3/envs/li/include -fPIC '-I/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan' -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/TH -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/THC -I/home/lenovo/anaconda3/envs/li/include -I/home/lenovo/anaconda3/envs/li/include/python3.10 -c -c '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan.cpp' -o '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan.o' -O3 -std=c++17 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=selective_scan_cuda_core -D_GLIBCXX_USE_CXX11_ABI=0 In file included from /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/ATen/cuda/CUDAContext.h:3, from /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan.cpp:5: /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/ATen/cuda/CUDAContextLight.h:6:10: fatal error: cuda_runtime_api.h: 没有那个文件或目录 6 | #include <cuda_runtime_api.h> | ^~~~~~~~~~~~~~~~~~~~ compilation terminated. [2/3] /home/lenovo/anaconda3/envs/li/bin/nvcc --generate-dependencies-with-compile --dependency-output '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_fwd.o'.d '-I/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan' -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/TH -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/THC -I/home/lenovo/anaconda3/envs/li/include -I/home/lenovo/anaconda3/envs/li/include/python3.10 -c -c '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan_core_fwd.cu' -o '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_fwd.o' -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -std=c++17 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_BFLOAT16_OPERATORS__ -U__CUDA_NO_BFLOAT16_CONVERSIONS__ -U__CUDA_NO_BFLOAT162_OPERATORS__ -U__CUDA_NO_BFLOAT162_CONVERSIONS__ --expt-relaxed-constexpr --expt-extended-lambda --use_fast_math --ptxas-options=-v -lineinfo -arch=sm_86 --threads 4 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=selective_scan_cuda_core -D_GLIBCXX_USE_CXX11_ABI=0 FAILED: /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_fwd.o /home/lenovo/anaconda3/envs/li/bin/nvcc --generate-dependencies-with-compile --dependency-output '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_fwd.o'.d '-I/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan' -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/TH -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/THC -I/home/lenovo/anaconda3/envs/li/include -I/home/lenovo/anaconda3/envs/li/include/python3.10 -c -c '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan_core_fwd.cu' -o '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_fwd.o' -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -std=c++17 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_BFLOAT16_OPERATORS__ -U__CUDA_NO_BFLOAT16_CONVERSIONS__ -U__CUDA_NO_BFLOAT162_OPERATORS__ -U__CUDA_NO_BFLOAT162_CONVERSIONS__ --expt-relaxed-constexpr --expt-extended-lambda --use_fast_math --ptxas-options=-v -lineinfo -arch=sm_86 --threads 4 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=selective_scan_cuda_core -D_GLIBCXX_USE_CXX11_ABI=0 <command-line>: fatal error: cuda_runtime.h: 没有那个文件或目录 compilation terminated. <command-line>: fatal error: cuda_runtime.h: 没有那个文件或目录 compilation terminated. fatal : Could not open input file /tmp/tmpxft_00005756_00000000-7_selective_scan_core_fwd.cpp1.ii [3/3] /home/lenovo/anaconda3/envs/li/bin/nvcc --generate-dependencies-with-compile --dependency-output '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_bwd.o'.d '-I/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan' -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/TH -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/THC -I/home/lenovo/anaconda3/envs/li/include -I/home/lenovo/anaconda3/envs/li/include/python3.10 -c -c '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan_core_bwd.cu' -o '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_bwd.o' -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -std=c++17 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_BFLOAT16_OPERATORS__ -U__CUDA_NO_BFLOAT16_CONVERSIONS__ -U__CUDA_NO_BFLOAT162_OPERATORS__ -U__CUDA_NO_BFLOAT162_CONVERSIONS__ --expt-relaxed-constexpr --expt-extended-lambda --use_fast_math --ptxas-options=-v -lineinfo -arch=sm_86 --threads 4 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=selective_scan_cuda_core -D_GLIBCXX_USE_CXX11_ABI=0 FAILED: /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_bwd.o /home/lenovo/anaconda3/envs/li/bin/nvcc --generate-dependencies-with-compile --dependency-output '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_bwd.o'.d '-I/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan' -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/TH -I/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/include/THC -I/home/lenovo/anaconda3/envs/li/include -I/home/lenovo/anaconda3/envs/li/include/python3.10 -c -c '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/csrc/selective_scan/cus/selective_scan_core_bwd.cu' -o '/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/cus/selective_scan_core_bwd.o' -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -std=c++17 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_BFLOAT16_OPERATORS__ -U__CUDA_NO_BFLOAT16_CONVERSIONS__ -U__CUDA_NO_BFLOAT162_OPERATORS__ -U__CUDA_NO_BFLOAT162_CONVERSIONS__ --expt-relaxed-constexpr --expt-extended-lambda --use_fast_math --ptxas-options=-v -lineinfo -arch=sm_86 --threads 4 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=selective_scan_cuda_core -D_GLIBCXX_USE_CXX11_ABI=0 <command-line>: fatal error: cuda_runtime.h: 没有那个文件或目录 compilation terminated. <command-line>: fatal error: cuda_runtime.h: 没有那个文件或目录 compilation terminated. fatal : Could not open input file /tmp/tmpxft_00005755_00000000-7_selective_scan_core_bwd.cpp1.ii ninja: build stopped: subcommand failed. Traceback (most recent call last): File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2096, in _run_ninja_build subprocess.run( File "/home/lenovo/anaconda3/envs/li/lib/python3.10/subprocess.py", line 526, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 35, in <module> File "/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/setup.py", line 146, in <module> setup( File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/__init__.py", line 117, in setup return distutils.core.setup(**attrs) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 186, in setup return run_commands(dist) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 202, in run_commands dist.run_commands() File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands self.run_command(cmd) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/dist.py", line 1104, in run_command super().run_command(command) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command cmd_obj.run() File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/command/bdist_wheel.py", line 370, in run self.run_command("build") File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command self.distribution.run_command(command) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/dist.py", line 1104, in run_command super().run_command(command) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command cmd_obj.run() File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command self.distribution.run_command(command) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/dist.py", line 1104, in run_command super().run_command(command) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command cmd_obj.run() File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 99, in run _build_ext.run(self) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 368, in run self.build_extensions() File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 871, in build_extensions build_ext.build_extensions(self) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 484, in build_extensions self._build_extensions_serial() File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 510, in _build_extensions_serial self.build_extension(ext) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 264, in build_extension _build_ext.build_extension(self, ext) File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 565, in build_extension objects = self.compiler.compile( File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 684, in unix_wrap_ninja_compile _write_ninja_file_and_compile_objects( File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1774, in _write_ninja_file_and_compile_objects _run_ninja_build( File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2112, in _run_ninja_build raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension error: subprocess-exited-with-error &times; python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. full command: /home/lenovo/anaconda3/envs/li/bin/python3.10 -u -c ' exec(compile('"'"''"'"''"'"' # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py # # - It imports setuptools before invoking setup.py, to enable projects that directly # import from `distutils.core` to work with newer packaging standards. # - It provides a clear error message when setuptools is not installed. # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: # manifest_maker: standard file '"'"'-c'"'"' not found". # - It generates a shim setup.py, for handling setup.cfg-only projects. import os, sys, tokenize, traceback try: import setuptools except ImportError: print( "ERROR: Can not execute `setup.py` since setuptools failed to import in " "the build environment with exception:", file=sys.stderr, ) traceback.print_exc() sys.exit(1) __file__ = %r sys.argv[0] = __file__ if os.path.exists(__file__): filename = __file__ with tokenize.open(__file__) as f: setup_py_code = f.read() else: filename = "<auto-generated setuptools caller>" setup_py_code = "from setuptools import setup; setup()" exec(compile(setup_py_code, filename, "exec")) '"'"''"'"''"'"' % ('"'"'/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' bdist_wheel -d /tmp/pip-wheel-fm2tmb40 cwd: /media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/ Building wheel for selective_scan (setup.py): finished with status 'error' ERROR: Failed building wheel for selective_scan Running setup.py clean for selective_scan Running command python setup.py clean A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.6 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 35, in <module> File "/media/lenovo/PHILIPS/Mamba_20250409_ torch22_cuda118/VMamba-main/kernels/selective_scan/setup.py", line 17, in <module> import torch File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/__init__.py", line 1471, in <module> from .functional import * # noqa: F403 File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/functional.py", line 9, in <module> import torch.nn.functional as F File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/__init__.py", line 1, in <module> from .modules import * # noqa: F403 File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/__init__.py", line 35, in <module> from .transformer import TransformerEncoder, TransformerDecoder, \ File "/home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/transformer.py", line 20, in <module> device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/torch/nn/modules/transformer.py:20: UserWarning: Failed to initialize NumPy: _ARRAY_API not found (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:84.) device: torch.device = torch.device(torch._C._get_default_device()), # torch.device('cpu'), torch.__version__ = 2.2.0+cu118 CUDA_HOME = /home/lenovo/anaconda3/envs/li CUDA version: 11.8 /home/lenovo/anaconda3/envs/li/lib/python3.10/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running clean removing 'build/temp.linux-x86_64-cpython-310' (and everything under it) 'build/lib.linux-x86_64-cpython-310' does not exist -- can't clean it 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.10' does not exist -- can't clean it removing 'build' Failed to build selective_scan ERROR: Failed to build installable wheels for some pyproject.toml based projects (selective_scan)
07-04
lientek@ubuntu16:~/linux/IMX6ULL/Linux_Drivers/1_chrdevbase$ make make -C /home/alientek/linux/IMX6ULL/linux/alientek_linux/linux-imx-rel_imx_4.1.15_2.1.0_ga M=/home/alientek/linux/IMX6ULL/Linux_Drivers/1_chrdevbase modules make[1]: Entering directory '/home/alientek/linux/IMX6ULL/linux/alientek_linux/linux-imx-rel_imx_4.1.15_2.1.0_ga' CC [M] /home/alientek/linux/IMX6ULL/Linux_Drivers/1_chrdevbase/chrdevbase.o In file included from ./arch/x86/include/asm/bitops.h:16:0, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from /home/alientek/linux/IMX6ULL/Linux_Drivers/1_chrdevbase/chrdevbase.c:1: ./arch/x86/include/asm/arch_hweight.h: In function ‘__arch_hweight64’: ./arch/x86/include/asm/arch_hweight.h:53:42: error: expected ‘:’ or ‘’ before ‘POPCNT64’ asm (ALTERNATIVE("call __sw_hweight64", POPCNT64, X86_FEATURE_POPCNT ^ ./arch/x86/include/asm/alternative.h:125:28: note: in definition of macro ‘ALTINSTR_REPLACEMENT’ b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n\t" ^ ./arch/x86/include/asm/arch_hweight.h:53:7: note: in expansion of macro ‘ALTERNATIVE’ asm (ALTERNATIVE("call __sw_hweight64", POPCNT64, X86_FEATURE_POPCNT ^ In file included from ./arch/x86/include/asm/pgtable_types.h:250:0, from ./arch/x86/include/asm/processor.h:18, from ./arch/x86/include/asm/thread_info.h:49, from include/linux/thread_info.h:54, from ./arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:18, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10,
03-22
<think>好的,我现在需要解决用户在编译Linux内核驱动时遇到的错误:arch/x86/include/asm/arch_hweight.h中的'error: expected ':' or ')' before 'POPCNT64''。首先,我得理解这个错误的原因。根据用户提供的引用信息,特别是引用[4],这个问题是因为在编译内核模块时没有正确指定ARCH和CROSS_COMPILE变量导致的。用户提到他们的内核版本是linux-imx-rel_imx_4.1.15_2.1.0_ga,所以这可能是一个ARM架构的编译,但错误出现在x86的路径下,这看起来有点矛盾。 接下来,我需要确认当用户编译驱动时是否正确地指定了目标架构。可能的情况是,用户正在为ARM架构(比如i.MX处理器)交叉编译驱动模块,但编译过程中错误地引用了x86的头文件,导致语法不兼容。这种情况通常是因为没有正确设置ARCH和CROSS_COMPILE环境变量,导致编译器使用了默认的x86配置。 根据引用[2]和[3],解决方案是在编译命令中加入ARCH=arm和CROSS_COMPILE=arm-linux-gnueabihf-(或类似的工具链前缀)。这确保编译时使用ARM架构的相关配置,而不是默认的x86。此外,引用[4]提到需要在主Makefile中指定这些变量,或者通过命令行传递。用户可能是在编译模块时没有正确设置这些变量,导致编译器尝试使用x86的架构头文件,而其中的POPCNT64宏可能与ARM环境不兼容。 还需要检查用户的Makefile是否正确导入了这些变量。例如,在驱动模块的Makefile中,应该设置KERNELDIR指向正确配置的内核源码路径,并且确保ARCH和CROSS_COMPILE在make命令中被正确传递。如果这些变量没有正确设置,内核的构建系统可能会错误地选择x86架构的头文件,从而导致语法错误。 另外,用户提供的引用[2]中的Makefile示例已经包含了设置ENV变量的部分,但需要确认是否实际执行时这些变量被正确应用。例如,在kernel_modules目标中,$(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) modules,这里ENV应该包含ARCH和CROSS_COMPILE的定义。如果这些变量没有被正确传递,编译过程就会出错。 总结,解决方案应该是确保在编译驱动模块时,正确设置ARCH和CROSS_COMPILE变量,指定目标架构为arm,并使用对应的交叉编译工具链。同时,检查内核源码的配置是否正确,特别是主Makefile中是否有必要的变量设置。这样编译器会使用正确的架构头文件,避免x86特定的语法问题出现在ARM的编译环境中。</think>要解决Linux内核编译中出现的`arch/x86/include/asm/arch_hweight.h`文件内`error: expected ‘:’ or ‘)’ before ‘POPCNT64’`错误,需确保**正确指定目标架构和交叉编译工具链**。以下是具体步骤: --- ### **错误原因分析** 1. **架构配置错误** 该错误通常是由于内核编译时未正确指定目标架构(如`ARCH=arm`),导致编译器错误地引用了`x86`架构的头文件(如`arch_hweight.h`),而其中`POPCNT64`宏语法与当前平台不兼容[^4]。 2. **交叉编译工具链未指定** 交叉编译时缺少`CROSS_COMPILE`参数,导致编译器默认使用`x86`工具链,从而引发语法解析错误[^2][^3]。 --- ### **修复步骤** #### 1. **明确指定架构和工具链** 在编译命令中**强制指定目标架构和交叉编译工具链**: ```bash make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ``` - **`ARCH=arm`**:声明目标架构为ARM(而非默认x86)。 - **`CROSS_COMPILE`**:指定交叉编译工具链前缀(需根据实际工具链名称调整)。 #### 2. **修改Makefile(推荐方法)** 在驱动模块的Makefile中直接定义变量: ```makefile KERNELDIR := /path/to/your/kernel/source # 替换为实际内核源码路径 CURRENT_PATH := $(shell pwd) ENV := ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- # 定义环境变量 obj-m := your_module.o build: kernel_modules kernel_modules: $(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) modules clean: $(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) clean ``` #### 3. **验证内核源码配置** 确保内核源码目录的`.config`文件已正确配置ARM架构,可通过以下命令生成默认配置: ```bash make ARCH=arm imx_v7_defconfig # imx_v7_defconfig为i.MX系列典型配置 ``` #### 4. **清理并重新编译** ```bash make clean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ``` --- ### **原理说明** - **架构一致性**:通过`ARCH=arm`确保编译时使用`arch/arm`目录下的头文件和配置,而非默认的`x86`。 - **工具链匹配**:`CROSS_COMPILE`指定ARM平台的GCC工具链,避免语法解析错误[^4]。 - **头文件隔离**:不同架构的头文件(如`arch/arm`与`arch/x86`)包含平台专用宏,错误引用会导致语法不兼容。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值