已解决!genesis,ompl,segmentation fault报错 ompl的solved=ss.solve(timeout),Segmentation fault (core dumped)

```

ompl的segment fault的问题,解决方案,已解决:

运行genesis,直接ompl-1.6.0-cp310-cp310-manylinux_2_28_x86_64.whl,运行grasp_bottle程序出现ompl的segment fault的问题,需要源码安装ompl库,解决步骤如下:

(重点:注意查看/media/diskb1/zab2025/genesis_code/Genesis/ompl/build/lib中没有编译出来的4个包的报错log,如/media/diskb1/zab2025/genesis_code/Genesis/ompl/build/pyplusplus_util.log(_base.so _control.so _geometric.so _util.so,(_base.so _control.so _geometric.so _util.so),然后对应去解决)

用python=3.10的conda环境:

conda create genesis0106 python=3.10

conda activate genesis0106

pip install torch==2.5.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


 

sudo apt-get -y install g++ cmake pkg-config libboost-serialization-dev libboost-filesystem-dev libboost-system-dev libboost-program-options-dev libboost-test-dev libeigen3-dev libode-dev wget libyaml-cpp-dev

export CXX=g++

export MAKEFLAGS="-j `nproc`"

pip install -vU https://github.com/CastXML/pygccxml/archive/develop.zip pyplusplus

sudo apt-get -y install castxml libboost-python-dev libboost-numpy-dev pypy3

git clone --recurse-submodules https://github.com/ompl/ompl.git -b 1.6.0

mkdir -p ompl/build

cd ompl/build

cmake .. -DPYTHON_EXEC=$(which python) -DCMAKE_INSTALL_PREFIX="$CONDA_PREFIX" -DBOOST_ROOT="$CONDA_PREFIX" -DPYTHONPATH=$CONDA_PREFIX/lib/python3.10/site-packages


 

注意查看/media/diskb1/zab2025/genesis_code/Genesis/ompl/build/lib中没有编译出来的4个包的报错log(_base.so _control.so _geometric.so _util.so),然后对应去解决:

如/media/diskb1/zab2025/genesis_code/Genesis/ompl/build/pyplusplus_util.log

如果出现cannot import name 'Protocol' from 'typing'错误:

找到对应的行,然后注释掉typing,替换加入from typing_extensions import Protocol

pip install typing_extensions==4.5.0

pip install pygccxml==2.1.0

修改注释/media/diskb1/zab2025/genesis_code/Genesis/ompl/py-bindings/generate_bindings.py中194行的:


 

# self.ompl_ns.class_(f'SpecificParam< {self.string_decl} >').rename('SpecificParamString')

try:

self.ompl_ns.class_(f'SpecificParam< std::string >').rename('SpecificParamString')

except:

self.ompl_ns.class_(f'SpecificParam< std::basic_string< char > >').rename('SpecificParamString')


 

然后执行:

make update_bindings

(如果出现No rule for update_bindings报错,执行conda install -c conda-forge boost boost-cpp)

再执行:

make -j8

sudo make install

欢迎交流

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值