当前位置: 首页 > 工具软件 > Grand > 使用案例 >

GRAND对于新主机环境的安装步骤

诸腾
2023-12-01

新主机配置过程:

  1. 安装make和cmake
    sudo apet-get install make&cmake
    
  2. 安装C++环境

g++版本需要7.3及以上

sudo apt-get install g++ # g++版本需要7.3及以上
  1. 删除CmakeCache
  2. 搭建zmq环境,在新grand虚拟机里压缩包放在目录ZMQ下
    1. 安装包放在/GRAND/externalTools 目录下
      解压:
    tar -xzvf  libzmq-4.3.4.tar.gz .
    
    1. 之后进入目录:
    cd libzmq-4.3.4
    
    1. 开始安装:
    ./autogen.sh
    
    1. 使用prefix来指定安装目录:
    ./configure --prefix=/path/to/where/you/want --without-libsodium
    make
    make install
    
  3. 搭建yaml环境
    1. 下载yaml安装包,可以在官网上下载,使用的yaml版本是yaml-cpp-yaml-cpp-0.7.0,安装包在硬盘中的/GRAND/externalTools/目录下

    2. 解压:

    tar -xzvf yaml-cpp-yaml-cpp-0.7.0.tar.gz 
    
    1. 编译与安装
    • 进入解压后的目录
    cd yaml-cpp-yaml-cpp-0.7.0
    mkdir build
    
    • 修改CMakeLists.txt,在其中添加
    add_definitions(-w) // 忽略dummy错误
    link_directories( /home/grand/pc_installed/lib ) // 指定外部链接库
    
    • 进入build目录并指定安装目录
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/home/grand/pc_installed -DBUILD_SHARED_LIBS=ON  ..
    // -DCMAKE_INSTALL_PREFIX=/path/to/where/you/want 指定安装目录
    // 或者在CMake文件中添加 SET(CMAKE_INSTALL_PREFIX < install_path >), 要加在 PROJECT(< project_name>) 之后。
    // -DBUILD_SHARED_LIBS=ON 开启动态链接库编译,默认关闭
    
    • 开始编译
    make -j8
    sudo make install
    sudo ldconfig
    
    yaml环境搭建完毕

  • 如果使用yaml-cpp-release-0.5.0,那么可能会遇到如下问题:
    • 找不到boost依赖库,如图所示
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9LcmWYaL-1675849457693)(./pngs/cannot_find_boost.png)]
      • 首先安装boost:
        sudo apt-get install libboost-all-dev
        
      • 安装完成后如果还是不行,首先查找boost_thread库,然后修改CMakeList文件,指定boost库所在的路径
        locate boost_thread
        set(BOOST_LIBRARYDIR /usr/lib) # 假设boost所在位置为/usr/lib/x86_64-linux-gnu/libboost_thread.a
        find_package(Boost REQUIRED COMPONENTS thread)
        
    • boost库存在,但是在调用相应文件时显示:error:‘next’ is not a member of ‘boost’,如下:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUKGY5K4-1675849457693)(./pngs/next_is_not_found.png)]
      • 在找不到next的文件中添加头文件
      vi /home/xuxing/externalTools/DBH/yaml-cpp-release-0.5.0/include/yaml-cpp/node/detail/iterator.h
      
      #include <boost/next_prior.hpp> // boost所在头文件
      
  • 完成上述步骤之后重新编译(重复上述yaml里的安装步骤即可),显示安装成功
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ugpv7OEH-1675849457694)(./pngs/yaml_install.png)]

  1. iperf
    将arm可以使用的iperf工具拷贝在文件夹iperf_for_arm中备用
  2. 配置arm上的C++环境,步骤如下:
scp /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/lib64/libstdc++.so.6.0.24 root@192.168.10.2:/lib/ 
scp /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/lib64/libgcc_s.so.1 root@192.168.10.2:/lib/

ssh root@<arm-host>
cd /lib
ln -s libstdc++.so.6.0.24 libstdc++.so.6
ln -s libstdc++.so.6 libstdc++.so
ln -s libgcc_s.so.1 libgcc_s.so

详情见step_for_cpp.txt,内容如下:

1. scp /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/lib64/libstdc++.so.6.0.24 root@192.168.61.xx:/lib/
2. scp /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/lib64/libgcc_s.so.1 root@192.168.61.xx:/lib/
3. ssh root@<arm-host>
4. cd /lib/
5. ln -s libstdc++.so.6.0.24 libstdc++.so.6
6. ln -s libstdc++.so.6 libstdc++.so
7. ln -s libgcc_s.so.1 libgcc_s.so

更换主机后,若主机名称不是grand

那么需要进行以下步骤:

1. rm ./build-arm/CMakeCache.txt
2. rm ./build-x86_64/CMakeCache.txt
3. vi CMakeLists.txt # 修改 set(EXTERNAL_DIR_ARM /home/duanbh/arm_a_installed) 与 set(EXTERNAL_DIR_PC /home/duanbh/pc_installed) 至 /home/user
4. vi ./package.sh # 修改 EXTERNAL_DIR_PC=/home/grand/pc_installed 与 EXTERNAL_DIR_ARM=/home/grand/arm_a_installed 至 /home/user
5. vi env.sh # 修改所有/home/grand 至 /home/user

完成完整步骤,

如有其他问题,仍会继续更新。

 类似资料: