1. cc1plus: error: bad value (‘tigerlake’) for ‘-march=’ switch
原因分析:gcc版本过低,更新gcc版本至10.0版本
解决方案:
- ade环境下更新软件源
sudo gedit /etc/apt/sources.list
在文件中输入:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse
- ade环境下更新gcc
sudo apt install gcc-10 g++-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
sudo update-alternatives --config gcc
2. /usr/bin/ld: warning: libhdf5.so.101, needed by /usr/lib/x86_64-linux-gnu/libarmadillo.so.9, not found
--- stderr: grid_map_ros
/usr/bin/ld: warning: libhdf5.so.101, needed by /usr/lib/x86_64-linux-gnu/libarmadillo.so.9, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libarmadillo.so.9: undefined reference to `H5Ovisit'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/grid_map_ros-test.dir/build.make:290: grid_map_ros-test] Error 1
make[1]: *** [CMakeFiles/Makefile2:103: CMakeFiles/grid_map_ros-test.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
原因分析:缺少libhdf5.so.101库文件
解决方案:先查看电脑里是否有该文件,运行locate libhdf5.so
发现:
电脑中存在libhdf5.so.101库文件,将库文件路径添加到环境变量中即可。
echo "export LD_LIBRARY_PATH=/home/zhangying/anaconda3/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
3.libfontconfig.so.1: undefined reference to `uuid_generate_random@UUID_1.0’
解决方案:
找到自己anaconda3目录下的lib,搜索libuuid,将搜索到的文件全部删除。
4. cc1plus: all warnings being treated as errors
解决方案:
export CFLAGS="-Wno-error"
export CXXFLAGS="-Wno-error"
5. — stderr: mpc_controller /home/xxxxx/AutowareAuto/build/mpc_controller/single_track_dynamics/acado_integrator.c:23:27: error: unknown type name ‘real_t’
--- stderr: mpc_controller
/home/xxxxxx/AutowareAuto/build/mpc_controller/single_track_dynamics/acado_integrator.c:23:27: error: unknown type name ‘real_t’
23 | void acado_rhs_forw(const real_t* in, real_t* out)
| ^~~~~~
/home/xxxxxxx/AutowareAuto/build/mpc_controller/single_track_dynamics/acado_integrator.c:23:39: error: unknown type name ‘real_t’
23 | void acado_rhs_forw(const real_t* in, real_t* out)
| ^~~~~~
/home/xxxxxxx/AutowareAuto/build/mpc_controller/single_track_dynamics/acado_integrator.c:95:22: error: unknown type name ‘real_t’
95 | int acado_integrate( real_t* const rk_eta, int resetIntegrator )
解决方案:
sudo apt purge -y ros-foxy-acado-vendor
sudo apt install -y ros-foxy-acado-vendor
6. /usr/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h:24:102: error: ‘outputColor’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
--- stderr: grid_map_filters
In file included from /usr/include/eigen3/Eigen/Core:427,
from /home/zhangying/AutowareAuto/src/external/grid_map/grid_map_filters/include/grid_map_filters/ColorBlendingFilter.hpp:14,
from /home/zhangying/AutowareAuto/src/external/grid_map/grid_map_filters/src/ColorBlendingFilter.cpp:9:
/usr/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h: In member function ‘bool grid_map::ColorBlendingFilter<T>::update(const T&, T&) [with T = grid_map::GridMap]’:
/usr/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h:24:102: error: ‘outputColor’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
24 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar& a, const SrcScalar& b) const { a = b; }
解决方案:
找到报错程序包的cmakelists.txt文件加入:
add_compile_options(-Wall -Werror -Wno-error=maybe-uninitialized)