Ubuntu通过源代码编译安装Octave 4.0
本教程/笔记,意在指导在Ubuntu及其它Linux系统上怎样通过源代码安装Octave。
Octave简单介绍
Octave是GNU旗下取代matlab的数学工具软件,语法与matlab高度兼容。而且支持一些独有的更清晰更符合Linux社区习惯的语法。
尽管在一些详细工具包和部分特性、效率上不如matlab。可是对于一般用户,它是matlab的一个有效的合法的免费的替代工具。
3.8版本号之前官方没有GUI界面,这无疑是它在普及方面的一个重大阻碍,让想使用GUI,必须下载第三方的工具(如qtoctave)。
3.8版本号增加了实验性的GUI界面。从4.0版本号開始GUI界面成为了默认的功能。
Ubuntu下的编译安装
Windows用户和部分Linux版本号的用户能够直接享受Octave官方编译好的4.0版本号,其它版本号用户仅仅能自己从源代码编译。
众所周知。Ubuntu官方源对软件的升级跟进很缓慢。在笔者写这个教程的时候【2015-07-14】,Ubuntu官方源上最新的版本号为3.8.1。
详细过程例如以下:
sudo apt-get build-dep octave
sudo apt-get install libportaudio-dev libqt4-opengl-dev #for gui
#sudo apt-get install libqt4-dev libqscintilla2-dev #for gui, (unnecessary for Ubuntu)
#sudo apt-get install llvm #for jit
wget https://ftp.gnu.org/gnu/octave/octave-4.0.0.tar.gz
tar xzf octave-4.0.0.tar.gz
cd octave-4.0.0
./configure
#./configure --enable-jit
make
make check
sudo make install
说明:
- 安装依赖库
– 自己一个个安太苦了。能够利用apt-get的build-dep功能。它会自己主动依据源上已经有的旧版本号的octave安装这个旧版本号的octave所需的依赖库,普通情况下不会相差太多。
– 为了使用GUI,还须要补充libportaudio-dev libqt4-opengl-dev,否则会在configure之后看到一个Warning“Qt libraries not found – disabling GUI”。继而导致编译出来的octave没有GUI。
– 如打算使用jit来加速数学脚本中的循环部分。则须要安装llvm。(在代码中须要显式地支出要jit优化的部分) - 下载解压源代码包
– 以后Octave升级后请注意输入正确的文件名称 - configure
– 假设须要jit,就加上–enable-jit
– 其它选项请输入./configure --help命令查看
– 留意查看输出内容最后的摘要和警告信息,依据须要补齐相关的库(bison等一些图标相关的库也能够不补。详细情况请看警告信息中的说明) - 编译
– 最好make check一下看看是否编译成功且正确 - 将编译好的文件安装到系统路径(假设你须要的话)
Ubuntu通过源代码编译安装Octave 4.0的更多相关文章
- ubuntu linux 1604 编译安装tesseract-ocr 4.0
主要参考官方的编译,梳理一下整个流程 Linux The build instructions for Linux also apply to other UNIX like operating sy ...
- 源代码编译安装 PHP5.5.0,解决curl_exec訪问HTTPS返回502错误的问题
近期碰到一个奇怪的问题. PHP使用 curl_exec 訪问 HTTPS 网页时, 返回502错误, 訪问HTTP网页时没有问题, 用 echo phpinfo() ; 查看. 支持op ...
- PHP7 学习笔记(一)Ubuntu 16.04 编译安装Nginx-1.10.3、 PHP7.0.9、Redis3.0 扩展、Phalcon3.1 扩展、Swoole1.9.8 扩展、ssh2扩展(全程编译安装)
==================== PHP 7.0 编译安装================== wget http://cn2.php.net/get/php-7.0.9.tar.bz2/fr ...
- [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程
标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)
在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...
随机推荐
- Duanxx的C++得知:计算位数
一旦计算出一个数值数字,基本上它是不断分裂使用10.重新计,看看有多少个数字. 今天发现能够考虑先将数字转换为字符串,然后通过string.length获得数值的位数,这样做方便的多. string ...
- C# ignoring letter case for if statement(Stackoverflow)
Question: I have this if statement: if (input == 'day') Console.Write({0}, dayData); When the user t ...
- 变相的取消Datagridview控件的选中状态
思路:把每一列的文字颜色设为黑色,选中时候的背景为白色,颜色为黑色.每一列都这样设置,那么变相的达到了取消选中效果. 图:
- 用tomcat搭建web服务器
链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...
- 我的Python成长之路---第二天---Python基础(8)---2016年1月9日(晴)
数据类型之字典 一.字典简介 字典dict(dictionary),在其他语言中也成为map,使用键-值(key-value)的形式存储和展现,具有极快的查找速度. 字典的定义 d = {'key': ...
- Ch04 充满动作的控制器
4.1 考察控制器和动作 4.1.1 IController与控制器基类 4.1.2 如何形成动作方法 4.2 哪些应该放在动作方法中 4.2.1 手动映射视图模型 4.2.2 输入验证 ...
- 云计算:创业的好时机——上海够快网络科技有限公司总经理蒋烁淼专访(评价阿里云的OSS的4个优点)(够快科技正式宣布已成功挂牌新三板)
云存储是云计算目前的热点之一,Dropbox.Box等产品的风靡,公司因此获得极高估值,都印证了这一点.但云存储对技术和资金要求都比较高,竞争也非常激烈,挑战巨大.国外云存储公司有亚马逊的云平台作为支 ...
- 一个大学生屌丝心中的seo梦
最 近这几天,我利用空闲时间去网上看到很多关于seoer的生存现状,尤为的感伤.因为自已也是一位爱好seo和利用闲于时间来学习seo的一个大学生屌 丝,在学习的过程中,有辛酸和泪水.但也有快乐,感觉一 ...
- 基于visual Studio2013解决面试题之1204大数组查找
题目
- Android ListView条目全选功能,不用checkbox实现!
大家好,翻了翻曾经的笔记,发现了一个我特别标记的功能,那就是ListView全选功能,顿时想起了我那个时候苦逼的生涯,因为我大学机械出身,大学毕业了都不知道什么叫代码,在58干了一段销售.实在是干不下 ...