Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make install #27

Closed
iwander-all opened this issue Sep 19, 2024 · 6 comments
Closed

make install #27

iwander-all opened this issue Sep 19, 2024 · 6 comments

Comments

@iwander-all
Copy link

Hello, when I build it , it shows:

  *** Building project with Ninja...
  [1/4] Building CXX object CMakeFiles/mapmos_pybind.dir/VoxelHashMap.cpp.o
  [2/4] Building CXX object CMakeFiles/mapmos_pybind.dir/Registration.cpp.o
  FAILED: CMakeFiles/mapmos_pybind.dir/Registration.cpp.o
  /usr/bin/g++  -pthread -B /home/hunkyu/.conda/envs/mapmos/compiler_compat -DSOPHUS_USE_BASIC_LOGGING=1 -Dmapmos_pybind_EXPORTS -I/home/hunkyu/net/MOS/MapMOS/build/_deps/tessil-src/include -I/home/hunkyu/net/MOS/MapMOS/build/_deps/sophus-src -isystem /home/hunkyu/.conda/envs/mapmos/include/python3.9 -isystem /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pybind11/include -isystem /usr/include/eigen3 -O3 -DNDEBUG -fPIC -fvisibility=hidden -flto -fno-fat-lto-objects -std=gnu++17 -MD -MT CMakeFiles/mapmos_pybind.dir/Registration.cpp.o -MF CMakeFiles/mapmos_pybind.dir/Registration.cpp.o.d -o CMakeFiles/mapmos_pybind.dir/Registration.cpp.o -c /home/hunkyu/net/MOS/MapMOS/src/mapmos/pybind/Registration.cpp
  /home/hunkyu/net/MOS/MapMOS/src/mapmos/pybind/Registration.cpp: In constructor ‘mapmos::Registration::Registration(int, double, int)’:
  /home/hunkyu/net/MOS/MapMOS/src/mapmos/pybind/Registration.cpp:174:69: error: ‘tbb::info’ has not been declared
    174 |       max_num_threads_(max_num_threads > 0 ? max_num_threads : tbb::info::default_concurrency()) {
        |                                                                     ^~~~
  [3/4] Building CXX object CMakeFiles/mapmos_pybind.dir/mapmos_pybind.cpp.o
  ninja: build stopped: subcommand failed.

  *** CMake build failed
  error: subprocess-exited-with-error
  
  × Building wheel for mapmos (pyproject.toml) 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/hunkyu/.conda/envs/mapmos/bin/python /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp0mr817vj
  cwd: /media/hunkyu/SuperBigDisk/DeepLearning/net/MOS/MapMOS
  Building wheel for mapmos (pyproject.toml) ... error
  ERROR: Failed building wheel for mapmos
Failed to build mapmos
ERROR: Could not build wheels for mapmos, which is required to install pyproject.toml-based projects
WARNING: There was an error checking the latest version of pip.
make: *** [Makefile:2:install] 错误 1

Could you please offer a conda env? thanks

@benemer
Copy link
Member

benemer commented Sep 19, 2024

When you look at the log and the error message, you can see that the problem is on the C++ side, so I doubt a conda env will fix this.

Can you specify which OS you are trying to install MapMOS on? Which TBB version is installed on your system?

@benemer
Copy link
Member

benemer commented Sep 19, 2024

In the meantime, I was able to reproduce your issue: https://github.com/PRBonn/MapMOS/actions/runs/10939530727/job/30369981192?pr=28

Most likely your system's TBB version is too old and since it is found by the build system, you will not fetch and install the newer one.

This issue was fixed for kiss-icp here: PRBonn/kiss-icp#361

I just ported the fix to this repo, so please pull and check again after I merged the PR.

@benemer
Copy link
Member

benemer commented Sep 19, 2024

PR is merged, please let me know if it solved the issue on your side!

so I doubt a conda env will fix this.

BTW, conda uses a newer version of TBB, so with conda you should not have this issue. However, this way it is now also fixed for people that do not use conda (like me).

@iwander-all
Copy link
Author

iwander-all commented Sep 19, 2024

Thanks for your fast help. I find that by turning off option(USE_SYSTEM_TBB "Use system pre-installed oneAPI/tbb" ON) in https://github.com/PRBonn/MapMOS/blob/main/src/mapmos/pybind/CMakeLists.txt can also work.

However, after successfully install, it cannot run with command
mapmos_pipeline /home/hunkyu/net/MOS/MapMOS/mapmos.ckpt /home/hunkyu/net/data/SemanticKitti/ --sequence 01 --dataloader kitti --visualize
and warm like this :

╭───────────────────────────────── Traceback (most recent call last) ──────────────────────────────────╮
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/mapmos/cli.py:202 in mapmos_pipeline     │
│                                                                                                      │
│   199 │   if paper:                                                                                  │
│   200 │   │   from mapmos.paper_pipeline import PaperPipeline as Pipeline                            │
│   201 │   else:                                                                                      │
│ ❱ 202 │   │   from mapmos.pipeline import MapMOSPipeline as Pipeline                                 │
│   203 │                                                                                              │
│   204 │   Pipeline(                                                                                  │
│   205 │   │   dataset=dataset_factory(                                                               │
│                                                                                                      │
│ ╭──────────────────────────────── locals ────────────────────────────────╮                           │
│ │          config = None                                                 │                           │
│ │            data = PosixPath('/home/hunkyu/net/data/SemanticKitti')     │                           │
│ │      dataloader = 'kitti'                                              │                           │
│ │ dataset_factory = <function dataset_factory at 0x7f8778b53280>         │                           │
│ │            jump = 0                                                    │                           │
│ │            meta = None                                                 │                           │
│ │         n_scans = -1                                                   │                           │
│ │           paper = False                                                │                           │
│ │      save_kitti = False                                                │                           │
│ │        save_ply = False                                                │                           │
│ │        sequence = '01'                                                 │                           │
│ │           topic = None                                                 │                           │
│ │       visualize = True                                                 │                           │
│ │         weights = PosixPath('/home/hunkyu/net/MOS/MapMOS/mapmos.ckpt') │                           │
│ ╰────────────────────────────────────────────────────────────────────────╯                           │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/mapmos/pipeline.py:34 in <module>        │
│                                                                                                      │
│    31                                                                                                │
│    32 from kiss_icp.pipeline import OdometryPipeline                                                 │
│    33                                                                                                │
│ ❱  34 from mapmos.mapmos_net import MapMOSNet                                                        │
│    35 from mapmos.odometry import Odometry                                                           │
│    36 from mapmos.mapping import VoxelHashMap                                                        │
│    37 from mapmos.metrics import get_confusion_matrix                                                │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │            deque = <class 'collections.deque'>                                                   │ │
│ │               np = <module 'numpy' from                                                          │ │
│ │                    '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/numpy/__init__.… │ │
│ │ OdometryPipeline = <class 'kiss_icp.pipeline.OdometryPipeline'>                                  │ │
│ │         Optional = typing.Optional                                                               │ │
│ │               os = <module 'os' from '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/os.py'>      │ │
│ │             Path = <class 'pathlib.Path'>                                                        │ │
│ │             time = <module 'time' (built-in)>                                                    │ │
│ │            torch = <module 'torch' from                                                          │ │
│ │                    '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/torch/__init__.… │ │
│ │           trange = <function trange at 0x7f86ec9df280>                                           │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/mapmos/mapmos_net.py:26 in <module>      │
│                                                                                                      │
│   23 import torch                                                                                    │
│   24 import copy                                                                                     │
│   25 import MinkowskiEngine as ME                                                                    │
│ ❱ 26 from pytorch_lightning import LightningModule                                                   │
│   27                                                                                                 │
│   28 from mapmos.minkunet import CustomMinkUNet14                                                    │
│   29                                                                                                 │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │  copy = <module 'copy' from '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/copy.py'>             │ │
│ │    ME = <module 'MinkowskiEngine' from                                                           │ │
│ │         '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/MinkowskiEngine-0.5.4-py3.… │ │
│ │ torch = <module 'torch' from                                                                     │ │
│ │         '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/torch/__init__.py'>         │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pytorch_lightning/__init__.py:30 in      │
│ <module>                                                                                             │
│                                                                                                      │
│   27 │   _logger.addHandler(logging.StreamHandler())                                                 │
│   28 │   _logger.propagate = False                                                                   │
│   29                                                                                                 │
│ ❱ 30 from pytorch_lightning.callbacks import Callback  # noqa: E402                                  │
│   31 from pytorch_lightning.core import LightningDataModule, LightningModule  # noqa: E402           │
│   32 from pytorch_lightning.trainer import Trainer  # noqa: E402                                     │
│   33 from pytorch_lightning.utilities.seed import seed_everything  # noqa: E402                      │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │      _DETAIL = 15                                                                                │ │
│ │      _detail = <function _detail at 0x7f86ebb67160>                                              │ │
│ │      _logger = <Logger pytorch_lightning (INFO)>                                                 │ │
│ │ _root_logger = <RootLogger root (WARNING)>                                                       │ │
│ │          Any = typing.Any                                                                        │ │
│ │      logging = <module 'logging' from                                                            │ │
│ │                '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/logging/__init__.py'>              │ │
│ │    utilities = <module 'pytorch_lightning.utilities' from                                        │ │
│ │                '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pytorch_lightning/u… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pytorch_lightning/callbacks/__init__.py: │
│ 14 in <module>                                                                                       │
│                                                                                                      │
│   11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      │
│   12 # See the License for the specific language governing permissions and                           │
│   13 # limitations under the License.                                                                │
│ ❱ 14 from pytorch_lightning.callbacks.base import Callback                                           │
│   15 from pytorch_lightning.callbacks.device_stats_monitor import DeviceStatsMonitor                 │
│   16 from pytorch_lightning.callbacks.early_stopping import EarlyStopping                            │
│   17 from pytorch_lightning.callbacks.finetuning import BackboneFinetuning, BaseFinetuning           │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pytorch_lightning/callbacks/base.py:25   │
│ in <module>                                                                                          │
│                                                                                                      │
│    22 from torch.optim import Optimizer                                                              │
│    23                                                                                                │
│    24 import pytorch_lightning as pl                                                                 │
│ ❱  25 from pytorch_lightning.utilities.types import STEP_OUTPUT                                      │
│    26                                                                                                │
│    27                                                                                                │
│    28 class Callback:                                                                                │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │       Any = typing.Any                                                                           │ │
│ │      Dict = typing.Dict                                                                          │ │
│ │      List = typing.List                                                                          │ │
│ │ Optimizer = <class 'torch.optim.optimizer.Optimizer'>                                            │ │
│ │  Optional = typing.Optional                                                                      │ │
│ │        pl = <module 'pytorch_lightning' from                                                     │ │
│ │             '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pytorch_lightning/__in… │ │
│ │     torch = <module 'torch' from                                                                 │ │
│ │             '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/torch/__init__.py'>     │ │
│ │      Type = typing.Type                                                                          │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/pytorch_lightning/utilities/types.py:26  │
│ in <module>                                                                                          │
│                                                                                                      │
│    23 import torch                                                                                   │
│    24 from torch.optim import Optimizer                                                              │
│    25 from torch.utils.data import DataLoader                                                        │
│ ❱  26 from torchmetrics import Metric                                                                │
│    27 from typing_extensions import Protocol, runtime_checkable                                      │
│    28                                                                                                │
│    29 _NUMBER = Union[int, float]                                                                    │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │        Any = typing.Any                                                                          │ │
│ │  dataclass = <function dataclass at 0x7f87790540d0>                                              │ │
│ │ DataLoader = <class 'torch.utils.data.dataloader.DataLoader'>                                    │ │
│ │       Dict = typing.Dict                                                                         │ │
│ │   Iterator = typing.Iterator                                                                     │ │
│ │       List = typing.List                                                                         │ │
│ │    Mapping = typing.Mapping                                                                      │ │
│ │  Optimizer = <class 'torch.optim.optimizer.Optimizer'>                                           │ │
│ │   Optional = typing.Optional                                                                     │ │
│ │       Path = <class 'pathlib.Path'>                                                              │ │
│ │   Sequence = typing.Sequence                                                                     │ │
│ │      torch = <module 'torch' from                                                                │ │
│ │              '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/torch/__init__.py'>    │ │
│ │       Type = typing.Type                                                                         │ │
│ │      Union = typing.Union                                                                        │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/torchmetrics/__init__.py:24 in <module>  │
│                                                                                                      │
│    21 │   │   PIL.PILLOW_VERSION = PIL.__version__                                                   │
│    22                                                                                                │
│    23 if package_available("scipy"):                                                                 │
│ ❱  24 │   import scipy.signal                                                                        │
│    25 │                                                                                              │
│    26 │   # back compatibility patch due to SMRMpy using scipy.signal.hamming                        │
│    27 │   if not hasattr(scipy.signal, "hamming"):                                                   │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │           _logger = <Logger torchmetrics (INFO)>                                                 │ │
│ │     _PACKAGE_ROOT = '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/torchmetrics'   │ │
│ │     _PROJECT_ROOT = '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages'                │ │
│ │                os = <module 'os' from '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/os.py'>     │ │
│ │ package_available = <functools._lru_cache_wrapper object at 0x7f86c2f04b80>                      │ │
│ │               PIL = <module 'PIL' from                                                           │ │
│ │                     '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/PIL/__init__.p… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/signal/__init__.py:309 in <module> │
│                                                                                                      │
│   306 use the classes to create a reusable function instead.                                         │
│   307                                                                                                │
│   308 """                                                                                            │
│ ❱ 309 from . import _sigtools, windows                                                               │
│   310 from ._waveforms import *                                                                      │
│   311 from ._max_len_seq import max_len_seq                                                          │
│   312 from ._upfirdn import upfirdn                                                                  │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │ _sigtools = <module 'scipy.signal._sigtools' from                                                │ │
│ │             '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/signal/_sigtools… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/signal/windows/__init__.py:41 in   │
│ <module>                                                                                             │
│                                                                                                      │
│   38                                                                                                 │
│   39 """                                                                                             │
│   40                                                                                                 │
│ ❱ 41 from ._windows import *                                                                         │
│   42                                                                                                 │
│   43 # Deprecated namespaces, to be removed in v2.0.0                                                │
│   44 from . import windows                                                                           │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/signal/windows/_windows.py:7 in    │
│ <module>                                                                                             │
│                                                                                                      │
│      4 import warnings                                                                               │
│      5                                                                                               │
│      6 import numpy as np                                                                            │
│ ❱    7 from scipy import linalg, special, fft as sp_fft                                              │
│      8                                                                                               │
│      9 __all__ = ['boxcar', 'triang', 'parzen', 'bohman', 'blackman', 'nuttall',                     │
│     10 │   │      'blackmanharris', 'flattop', 'bartlett', 'hanning', 'barthann',                    │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │       np = <module 'numpy' from                                                                  │ │
│ │            '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/numpy/__init__.py'>      │ │
│ │ operator = <module 'operator' from '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/operator.py'>  │ │
│ │ warnings = <module 'warnings' from '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/warnings.py'>  │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/__init__.py:91 in <module>     │
│                                                                                                      │
│    88 │   hfft, ihfft, hfft2, ihfft2, hfftn, ihfftn)                                                 │
│    89 from ._realtransforms import dct, idct, dst, idst, dctn, idctn, dstn, idstn                    │
│    90 from ._fftlog import fht, ifht, fhtoffset                                                      │
│ ❱  91 from ._helper import next_fast_len                                                             │
│    92 from ._backend import (set_backend, skip_backend, set_global_backend,                          │
│    93 │   │   │   │   │      register_backend)                                                       │
│    94 from numpy.fft import fftfreq, rfftfreq, fftshift, ifftshift                                   │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │          _basic = <module 'scipy.fft._basic' from                                                │ │
│ │                   '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_basic… │ │
│ │         _fftlog = <module 'scipy.fft._fftlog' from                                               │ │
│ │                   '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_fftlo… │ │
│ │ _realtransforms = <module 'scipy.fft._realtransforms' from                                       │ │
│ │                   '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_realt… │ │
│ │             dct = <uarray multimethod 'dct'>                                                     │ │
│ │            dctn = <uarray multimethod 'dctn'>                                                    │ │
│ │             dst = <uarray multimethod 'dst'>                                                     │ │
│ │            dstn = <uarray multimethod 'dstn'>                                                    │ │
│ │             fft = <uarray multimethod 'fft'>                                                     │ │
│ │            fft2 = <uarray multimethod 'fft2'>                                                    │ │
│ │            fftn = <uarray multimethod 'fftn'>                                                    │ │
│ │             fht = <function fht at 0x7f86c1f48160>                                               │ │
│ │       fhtoffset = <function fhtoffset at 0x7f86c1f48310>                                         │ │
│ │            hfft = <uarray multimethod 'hfft'>                                                    │ │
│ │           hfft2 = <uarray multimethod 'hfft2'>                                                   │ │
│ │           hfftn = <uarray multimethod 'hfftn'>                                                   │ │
│ │            idct = <uarray multimethod 'idct'>                                                    │ │
│ │           idctn = <uarray multimethod 'idctn'>                                                   │ │
│ │            idst = <uarray multimethod 'idst'>                                                    │ │
│ │           idstn = <uarray multimethod 'idstn'>                                                   │ │
│ │            ifft = <uarray multimethod 'ifft'>                                                    │ │
│ │           ifft2 = <uarray multimethod 'ifft2'>                                                   │ │
│ │           ifftn = <uarray multimethod 'ifftn'>                                                   │ │
│ │            ifht = <function ifht at 0x7f86c1f481f0>                                              │ │
│ │           ihfft = <uarray multimethod 'ihfft'>                                                   │ │
│ │          ihfft2 = <uarray multimethod 'ihfft2'>                                                  │ │
│ │          ihfftn = <uarray multimethod 'ihfftn'>                                                  │ │
│ │           irfft = <uarray multimethod 'irfft'>                                                   │ │
│ │          irfft2 = <uarray multimethod 'irfft2'>                                                  │ │
│ │          irfftn = <uarray multimethod 'irfftn'>                                                  │ │
│ │            rfft = <uarray multimethod 'rfft'>                                                    │ │
│ │           rfft2 = <uarray multimethod 'rfft2'>                                                   │ │
│ │           rfftn = <uarray multimethod 'rfftn'>                                                   │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_helper.py:3 in <module>       │
│                                                                                                      │
│     1 from functools import update_wrapper, lru_cache                                                │
│     2                                                                                                │
│ ❱   3 from ._pocketfft import helper as _helper                                                      │
│     4                                                                                                │
│     5                                                                                                │
│     6 def next_fast_len(target, real=False):                                                         │
│                                                                                                      │
│ ╭─────────────────────────── locals ───────────────────────────╮                                     │
│ │      lru_cache = <function lru_cache at 0x7f877987ad30>      │                                     │
│ │ update_wrapper = <function update_wrapper at 0x7f87798e9160> │                                     │
│ ╰──────────────────────────────────────────────────────────────╯                                     │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_pocketfft/__init__.py:3 in    │
│ <module>                                                                                             │
│                                                                                                      │
│    1 """ FFT backend using pypocketfft """                                                           │
│    2                                                                                                 │
│ ❱  3 from .basic import *                                                                            │
│    4 from .realtransforms import *                                                                   │
│    5 from .helper import *                                                                           │
│    6                                                                                                 │
│                                                                                                      │
│ /home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_pocketfft/basic.py:6 in       │
│ <module>                                                                                             │
│                                                                                                      │
│     3 """                                                                                            │
│     4 import numpy as np                                                                             │
│     5 import functools                                                                               │
│ ❱   6 from . import pypocketfft as pfft                                                              │
│     7 from .helper import (_asfarray, _init_nd_shape_and_axes, _datacopied,                          │
│     8 │   │   │   │   │    _fix_shape, _fix_shape_1d, _normalization,                                │
│     9 │   │   │   │   │    _workers)                                                                 │
│                                                                                                      │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮ │
│ │ functools = <module 'functools' from                                                             │ │
│ │             '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/functools.py'>                        │ │
│ │        np = <module 'numpy' from                                                                 │ │
│ │             '/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/numpy/__init__.py'>     │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯
ImportError: /media/hunkyu/SuperBigDisk/DeepLearning/condaEnv/envs/mapmos/bin/../lib/libstdc++.so.6: 
version `GLIBCXX_3.4.30' not found (required by 
/home/hunkyu/.conda/envs/mapmos/lib/python3.9/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-39-
x86_64-linux-gnu.so)

After roughly comparing 4DMOS and MapMOS, I find them quiet similar, why did not use the same env for them
Thanks a lot!

@benemer
Copy link
Member

benemer commented Sep 19, 2024

Thanks for your fast help. I find that by turning off option(USE_SYSTEM_TBB "Use system pre-installed oneAPI/tbb" ON) in https://github.com/PRBonn/MapMOS/blob/main/src/mapmos/pybind/CMakeLists.txt can also work.

Yes, this will fetch TBB (newer version) and install it in the build environment, therefore ignoring your system's TBB. It is totally legit to do that, it just takes a bit longer to install :)

ImportError: /media/hunkyu/SuperBigDisk/DeepLearning/condaEnv/envs/mapmos/bin/../lib/libstdc++.so.6:
version `GLIBCXX_3.4.30' not found

It now looks like you have an older version of gcc in your conda environment. If you quickly google that error message, you can find some suggestions like here:

conda install -c conda-forge gcc=12.1.0

Searching for that error message and finding possible solutions took just a few seconds. Please check yourself next time :)

@iwander-all
Copy link
Author

I am very grateful for your great help, I am going to wander through this excellent work, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants