这个问题已经折腾我好长时间了,也试着用apt-get install xxxx 安装了不少32位库都不行,最后通过群中的朋友 @涂兵兵-深圳-半年 提醒更新给Ubuntu 16.04更换更新源试试,于是从网上找了好多试了可以,下面就是我的操作步骤,以备其它朋友遇到此问题能用上。 第一步: ubuntu 16.04 更换源

这个问题已经折腾我好长时间了,也试着用apt-get install xxxx 安装了不少32位库都不行,最后通过群中的朋友 @涂兵兵-深圳-半年 提醒更新给Ubuntu 16.04更换更新源试试,于是从网上找了好多试了可以,下面就是我的操作步骤,以备其它朋友遇到此问题能用上。


第一步:

ubuntu 16.04 更换源

原创  2017年07月11日 22:34:10 标签:
  • 进入/etc/apt/
cd /etc/apt
  • 1

在修改前先对 sources.list文件进行备份

sudo cp sources.list sources.list.bak
  • 1

修改sources.list文件

sudo vi sources.list
  • 1

删除掉sources.list的其他内容,选择任意源粘贴复制进去,这里以阿里云为例

这里写图片描述

ubuntu 16.04源

阿里云:

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

东北大学:

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial main restricted #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial main restricted

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial restricted multiverse universe #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial universe

deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates universe

deb http://mirror.neu.edu.cn/ubuntu/ xenial multiverse

deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates multiverse

deb http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties

deb http://archive.canonical.com/ubuntu xenial partner deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial-security universe

deb http://mirror.neu.edu.cn/ubuntu/ xenial-security multiverse


清华大学:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted

扫描二维码关注公众号,回复: 1683955 查看本文章

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

更新源

sudo apt-get update
  • 1

这里写图片描述

更新软件(时间较长,慢慢等待!)

sudo apt-get upgrade 
  • 1

这里写图片描述

提供最后一部分提示:Unpacking lib32quadmath0 (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libx32quadmath0.
Preparing to unpack .../libx32quadmath0_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking libx32quadmath0 (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package lib32gcc-5-dev.
Preparing to unpack .../lib32gcc-5-dev_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking lib32gcc-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libx32gcc-5-dev.
Preparing to unpack .../libx32gcc-5-dev_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking libx32gcc-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package gcc-5-multilib.
Preparing to unpack .../gcc-5-multilib_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking gcc-5-multilib (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package lib32stdc++-5-dev.
Preparing to unpack .../lib32stdc++-5-dev_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking lib32stdc++-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libx32stdc++-5-dev.
Preparing to unpack .../libx32stdc++-5-dev_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking libx32stdc++-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package g++-5-multilib.
Preparing to unpack .../g++-5-multilib_5.4.0-6ubuntu1~16.04.9_amd64.deb ...
Unpacking g++-5-multilib (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package gcc-multilib.
Preparing to unpack .../gcc-multilib_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking gcc-multilib (4:5.3.1-1ubuntu1) ...
Selecting previously unselected package g++-multilib.
Preparing to unpack .../g++-multilib_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking g++-multilib (4:5.3.1-1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Setting up libc6-dev-i386 (2.23-0ubuntu10) ...
Setting up libc6-x32 (2.23-0ubuntu10) ...
Setting up libc6-dev-x32 (2.23-0ubuntu10) ...
Setting up lib32gcc1 (1:6.0.1-0ubuntu1) ...
Setting up libx32gcc1 (1:6.0.1-0ubuntu1) ...
Setting up lib32gomp1 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32gomp1 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32itm1 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32itm1 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32atomic1 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32atomic1 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32asan2 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32asan2 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32stdc++6 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32ubsan0 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32stdc++6 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32ubsan0 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32cilkrts5 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32cilkrts5 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32mpx0 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32quadmath0 (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32quadmath0 (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32gcc-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32gcc-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Setting up gcc-5-multilib (5.4.0-6ubuntu1~16.04.9) ...
Setting up lib32stdc++-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Setting up libx32stdc++-5-dev (5.4.0-6ubuntu1~16.04.9) ...
Setting up g++-5-multilib (5.4.0-6ubuntu1~16.04.9) ...
Setting up gcc-multilib (4:5.3.1-1ubuntu1) ...
Setting up g++-multilib (4:5.3.1-1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...

至此更新软件结束。
root@ubuntu:/usr/local/arm/arm-2009q3/bin# ls
arm-none-linux-gnueabi-addr2line  arm-none-linux-gnueabi-gprof

第二步: 

ubuntu16.04 64bit安装arm-none-linux-gnueabi交叉编译工具链

标签: ubuntu linux arm-non
2766人阅读  评论(2)  收藏  举报

在ubuntu16.04中安装arm-none-linux-gnueabi有两种方法,一种是apt-get,安装容易但是不易成功,一种是下载压缩包或安装程序,这里,我用的是下载压缩包,从官网上下载会非常慢,这里提供一个国内云盘下载的链接:下载各种版本

下载之后我们进行解压:tar -xjf ***.tar.bz2, 后边不写参数就代表解压到当前路径下(我解压到了/usr/mygnueabi/下)。

由于下载的是解压版,不用安装(安装版需要),也不用编译(源码版需要)。我们直接设置环境变量即可。

设置环境变量可以通过:

export PATH=$PATH:/usr/mygnueabi/***your_gnueabi_name/bin

但是这只会在当前的cmd窗口下生效,再打开一个shell还得重新设置,所以我直接更改了~/.bashrc文件,这样就相当于永远生效了:

vim ~/.bashrc

添加一句:

export PATH=/usr/mygnueabi/***your_gnueabi_name/bin:$PATH

保存退出,注意要让bashrc生效,还需要输入:

source ~/.bashrc

当然,~代表当前用户目录,如果想让所有使用你这个linux系统的用户的环境变量都加上交叉工具链路径,也可以更改/etc/profile文件,还是加上export那句话,之后也要运行source命令使之生效.

添加完环境变量之后,我试着编译一个程序,发现还是不对, ./arm-none-linux-gnueabi-gcc -v bash: ./arm-none-linux-gn提示找不到arm-none-linux-gnueabi-gcc,(自己添加的:

 root@ubuntu:/usr/local/arm/arm-2009q3/bin# ./arm-none-linux-gnueabi-gcc -v
bash: ./arm-none-linux-gnueabi-gcc: No such file or directory
网上查了一下,发现是因为ubuntu为64位的,需要安装一些32bit支持的库:

输入:

apt-get install lib32ncurses5 lib32z1

apt-get install gcc-multilib g++-multilib

之后再编译程序就可以了。输入arm-none-linux-按tab键,会列出所有的编译器:


第三步:在/usr/local/arm/arm-2009q3/bin# 目录下执行

./arm-none-linux-gnueabi-gcc -v

显示:

root@ubuntu:/usr/local/arm/arm-2009q3/bin# ./arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q3-67' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 



出现了gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67)

任务完成。

OKOKOK

猜你喜欢

转载自blog.csdn.net/weixin_41632560/article/details/79931884