在64位centos下配置ARM32位交叉編譯環境
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