问题说明:

最近好久没有ROS进行系统编译,编译过程突然报了这种错误,发现是最近安装anaconda包环境的配置与ROS编译出现了冲突。

找了很多解决方案,都未成功,最后在.bashrc下文件关于anaconda的内容注释掉才编译通过。

错误提示:

对‘inflateValidate@ZLIB_1.2.9’未定义的引用

在这里插入图片描述

解决方案:


我尝试了以下参考网址中的方案,但是还是会报相应的错误,于是我重新组织了以下修改步骤。

这里我们发现在安装Anaconda时会自动配置环境,但是在编译ROS时会造成编译错误,于是我们在bashrc下注释掉这一条语句,这样便可以同时使用ROS和Anaconda,需要

注意的是以后使用Anaconda需要在终端下输入注释的这条指令进行激活。

在这里插入图片描述

具体方案:

终端中输入

$ gedit ~/.bashrc
#注释掉
#export PATH="/home/username/anaconda3/bin:$PATH"
$ source ~/.bashrc

此时已经可以使用catkin_make了

可以看到编译过程,报错部分已经从anaconda目录变到了usr下,这样说明ROS编译时不再找Anaconda包。

在这里插入图片描述

参考网址:

https://blog.csdn.net/zhixiting5325/article/details/90141218
https://blog.csdn.net/bornfree5511/article/details/106166465

附录:
.bashrc文件内容

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!

__conda_setup="$('/home/harry/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/harry/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/harry/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/harry/anaconda3/bin:$PATH"
    fi
fi
#unset __conda_setup

#conda deactivate


# <<< conda initialize <<<

# added by Anaconda3 installer

#注释掉
#export PATH="/home/harry/anaconda3/bin:$PATH"
export PATH="$PATH:$HOME/bin"
alias py27="/usr/bin/python2.7" 
alias python='/usr/bin/python2.7'
alias pyana36="/usr/local/bin/python3.6" 
alias pyana37="/home/harry/anaconda3/bin/python3"
alias tf="/home/harry/anaconda3/envs/tensorflow-gpu/bin/python3.6"


#cuda

export CUDA_HOME=/usr/local/cuda-9.0
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.0/bin:$PATH

#pycharm
alias pycharm="bash /home/harry/pycharm-community-2020.3.2/bin/pycharm.sh"

source /opt/ros/kinetic/setup.bash
#source ~/catkin_ur/devel/setup.bash
source ~/catkin_ws/devel/setup.bash
#export GAZEBO_MODEL_PATH=~/catkin_ws/src/sensor_stick/models