Ubuntu16.04+matlab2016b+matconvnet配置gcc4.9

Ubuntu16.04+matlab2016b+matconvnet配置gcc4.9

安装好matlab2016b后,想要编译matconvnet,会提示需要gcc4.9,所以需要更改下gcc的版本。ubuntu16.04自带的gcc版本为5.4。

添加源及更新

sudo gedit /etc/apt/sources.list
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

安装之前要卸载掉老版本的gcc、g++

sudo apt-get remove gcc
sudo apt-get remove g++

安装4.9版本及设置为4.9版本使用

sudo apt-get install gcc-4.9
sudo apt-get install g++-4.9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 100

验证当前系统版本

g++ -v
sudo update-alternatives --config gcc

matlab设置为4.9版本

这种修改的效果是全局的,影响所有用户

sudo gedit /usr/local/MATLAB/R2016b/bin/mexopts.sh,将 CC=gcc 改成 CC=gcc-4.9

编译MatConvNet

matconvnet官网下载MatConvNet,可在网站查看安装和编译过程
首先CPU环境下编译

mex -setup 
mex -setup C++

进入到MatConvNet路径中

cd matconvnet-master  
addpath matlab
vl_compilenn 

出现了找不到libjpeg.h的问题,所以需要安装libjpeg-turbo8-dev包,输入下面命令后,又出现了依赖关系问题

sudo apt-get install build-essential libjpeg-turbo8-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
build-essential 已经是最新版 (12.1ubuntu2)。
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 libjpeg-turbo8-dev : 依赖: libjpeg-turbo8 (= 1.4.2-0ubuntu3) 但是 1.4.2-0ubuntu3.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

解决方法为,指定对应版本的lib 库进行安装

sudo apt-get install libjpeg-turbo8-dev libjpeg-turbo8=1.4.2-0ubuntu3

然后再输入vl_compilenn 命令,显示mex已成功完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值