1. 程式人生 > 其它 >在64位centos下配置ARM32位交叉編譯環境

在64位centos下配置ARM32位交叉編譯環境

技術標籤:arm_linuxlinux

tab鍵:

CentOS7系統tab命令補全

bash-completion

在新安裝的CentOS7系統中,如果沒有安裝命令補全的話,在systemctl管理服務的時候就沒法用tab來自動補全,因此在安裝完系統後,我們要再安裝命令補全這個軟體:

yum -y install bash-completion

注意,再安裝完之後還需要重新登陸一次shell終端才能生效哦!!

1、拷貝檔案到系統opt資料夾下

2、解壓

命令:tar -jxvfgcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2

3、配置系統環境變數

命令:vim /etc/profile

命令:i

在末尾新增

export PATH=$PATH:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin

命令:esc鍵》:》wq》回車

4、使命令生效

source /etc/profile 使環境變數生效

5、安裝32位的庫要和本地的64位版本一直

檢視那個庫含檔案:yum provides libstdc++.so.6

然後把本機的版本升級

error:

Protected multilib versions: libstdc++-4.8.5-44.el7.i686 != libstdc++-4.8.5-39.el7.x86_64

yum update libstdc++-4.8.5-44.el7.x86_64 -y

安裝:

yum install libstdc++-4.8.5-44.el7.i686


Error: Transaction check error: 安裝的32位版本和本地64位版本不一致
file /usr/share/gcc-8/python/libstdcxx/v6/__pycache__/printers.cpython-36.opt-1.pyc from install of libstdc++-8.3.1-5.1.el8.i686 conflicts with file from package libstdc++-8.2.1-3.5.el8.x86_64


file /usr/share/gcc-8/python/libstdcxx/v6/__pycache__/printers.cpython-36.pyc from install of libstdc++-8.3.1-5.1.el8.i686 conflicts with file from package libstdc++-8.2.1-3.5.el8.x86_64
file /usr/share/gcc-8/python/libstdcxx/v6/__pycache__/xmethods.cpython-36.opt-1.pyc from install of libstdc++-8.3.1-5.1.el8.i686 conflicts with file from package libstdc++-8.2.1-3.5.el8.x86_64
file /usr/share/gcc-8/python/libstdcxx/v6/__pycache__/xmethods.cpython-36.pyc from install of libstdc++-8.3.1-5.1.el8.i686 conflicts with file from package libstdc++-8.2.1-3.5.el8.x86_64
file /usr/share/gcc-8/python/libstdcxx/v6/printers.py from install of libstdc++-8.3.1-5.1.el8.i686 conflicts with file from package libstdc++-8.2.1-3.5.el8.x86_64
file /usr/share/gcc-8/python/libstdcxx/v6/xmethods.py from install of libstdc++-8.3.1-5.1.el8.i686 conflicts with file from package libstdc++-8.2.1-3.5.el8.x86_64

error

-bash: /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-gcc: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
命令:sudo yum install glibc.i686

5、檢視命令生效情況

在終端上輸入命令arm-linux-gnueabihf-gcc -v
看到下面內容說明成功了

Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/../libexec/gcc/arm-linux-gnueabihf/4.7.3/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.7-2013.03/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --enable-multilib --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-ppl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-host-libstdcxx='-L/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static/lib -lpwl' --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-mode=thumb
Thread model: posix

6、安裝編譯共享32位庫

在centos6.7 X64位機器上:

yum install xulrunner.i686

yum install libXtst.i686

錯誤:

在使用yum命令時

No match for argument:

Error: Unable to find a match

問題應該是沒有配置 yum 源,所以解決辦法就是:安裝 EPEL 源

centos8:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm