• iperf交叉编译


    ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CFLAGS=-static CXX=arm-linux-gnueabihf-g++ CXXFLAGS=-static
    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3# riscv64-linux-gnu-gcc   -v
    Using built-in specs.
    COLLECT_GCC=riscv64-linux-gnu-gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/riscv64-linux-gnu/7/lto-wrapper
    Target: riscv64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' 
    --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,c++,d,fortran,objc,obj-c++
    --prefix=/usr --with-gcc-major-version-only --program-suffix=-7
    --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext
    --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/
    --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new
    --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support
    --enable-plugin --with-system-zlib --enable-multiarch --disable-werror --disable-multilib --with-arch=rv64imafdc
    --with-abi=lp64d --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=riscv64-linux-gnu --program-prefix=riscv64-linux-gnu- --includedir=/usr/riscv64-linux-gnu/include
    Thread model: posix gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3# ./configure --prefix=$(pwd)/install  --host=aarch64-linux-gnu CC=riscv64-linux-gnu-gcc CFLAGS=-static
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for aarch64-linux-gnu-strip... aarch64-linux-gnu-strip
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking build system type... aarch64-unknown-linux-gnu
    checking host system type... aarch64-unknown-linux-gnu
    checking for aarch64-linux-gnu-gcc... riscv64-linux-gnu-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether riscv64-linux-gnu-gcc accepts -g... yes
    checking for riscv64-linux-gnu-gcc option to accept ISO C89... none needed
    checking whether riscv64-linux-gnu-gcc understands -c and -o together... yes
    checking for style of include used by make... GNU
    checking dependency style of riscv64-linux-gnu-gcc... gcc3
    checking for aarch64-linux-gnu-ranlib... aarch64-linux-gnu-ranlib
    checking whether ln -s works... yes
    checking how to print strings... printf
    checking for a sed that does not truncate output... /bin/sed
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for fgrep... /bin/grep -F

    make -j96

    make install

    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3# ls install/
    bin  include  lib  share
    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3# ls install/bin/
    iperf3
    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3# ls install/lib/
    libiperf.a  libiperf.la
    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3# make -j96

    仍然有库依赖

    [root@centos7 ~]# riscv64-unknown-elf-objdump -x  ./usr/bin/iperf3 | grep need
    [root@centos7 ~]# riscv64-unknown-elf-objdump -x  ./usr/bin/iperf3 | grep -i  need
      NEEDED               libiperf.so.0
      NEEDED               libm.so.6
      NEEDED               libc.so.6
      VERNEED              0x0000000000010998
      VERNEEDNUM           0x0000000000000001
    [root@centos7 ~]# find ./ -name libiperf.so.0
    ./usr/lib/libiperf.so.0
    [root@centos7 ~]# find ./ -name libm.so.6
    ./lib/libm.so.6
    [root@centos7 ~]# find ./ -name libc.so.6
    ./lib/libc.so.6
    [root@centos7 ~]# riscv64-unknown-elf-objdump -x  ./usr/bin/t | grep -i  need
    tail        telnet      tftp        timing_o    top         traceroute  tty         
    tee         test        time        tlb         tr          truncate    
    [root@centos7 ~]# riscv64-unknown-elf-objdump -x  ./usr/sbin/tcpdump | grep -i  need
      NEEDED               libc.so.6
      NEEDED               ld-linux-riscv64-lp64d.so.1
      VERNEED              0x0000000000001ba8
      VERNEEDNUM           0x0000000000000002
    [root@centos7 ~]# 

    ./configure --prefix=$(pwd)/install  --host=aarch64-linux-gnu CC=riscv64-linux-gnu-gcc CFLAGS=-static  --enable-static LDFLAGS=-static --disable-shared

    root@ubuntu:/home/ubuntu/riscv/iperf-3.1.3#  riscv64-linux-gnu-objdump -x install/bin/iperf3  | grep -i need
      NEEDED               libm.so.6
      NEEDED               libc.so.6
      NEEDED               ld-linux-riscv64-lp64d.so.1
      VERNEED              0x00000000000113b8
      VERNEEDNUM           0x0000000000000003
  • 相关阅读:
    mysql数据库,变长字符串、定长字符串区别
    Mysql默认密码的查找和修改
    Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
    if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.....)
    android学习笔记一 PackageManager
    animated-rotated动画加载
    使用volatile关键字的场景
    “黄油刀”butterknife插件的使用注意事项
    android中ids.xml文件的作用
    DrawerLayout/FrameLayout/TabLayout/AppBarLayout/NestedScrolling
  • 原文地址:https://www.cnblogs.com/dream397/p/15693892.html
Copyright © 2020-2023  润新知