本教程/笔记,意在指导在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的更多相关文章

  1. ubuntu linux 1604 编译安装tesseract-ocr 4.0

    主要参考官方的编译,梳理一下整个流程 Linux The build instructions for Linux also apply to other UNIX like operating sy ...

  2. 源代码编译安装 PHP5.5.0,解决curl_exec訪问HTTPS返回502错误的问题

    近期碰到一个奇怪的问题. PHP使用 curl_exec 訪问 HTTPS 网页时, 返回502错误, 訪问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看. 支持op ...

  3. 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 ...

  4. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  5. 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. ...

  6. 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 ...

  7. 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 准备 ...

  8. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  9. 在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(网上有 ...

随机推荐

  1. HDU 4814 Golden Radio Base 小模拟

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4814 题意:黄金比例切割点是,如今要求把一个10进制的的数转化成一个phi进制的数,而且不能出现'11'的 ...

  2. ant 具体命令行展示代码

    C:\Users\xutianhao>ant -hant [options] [target [target2 [target3] ...]]Options: -help, -h print t ...

  3. Python之路day4

    坚持就是胜利.今天零下14度,从教室出来的路上真的很冷很冷,希望这个冬天自己不会白过,春暖花开的时候一定要给世界一个更好的自己. 原本以为day3的作业自己做得挺好的,没想到只得了B+.必须要加油了, ...

  4. 七、Nginx学习笔记七Nginx的Web缓存服务

    user www; worker_processes 1; error_log /usr/local/nginx/logs/error.log crit; pid /usr/local/nginx/l ...

  5. 【C++】第二章:Hello World!

    1.开发工具:Microsoft Visual C++ v6.0 2.通过IDE建立Hello World程序: 我们可以看到三个文件夹结构,分别是: Source Files(源文件). Heade ...

  6. 《Javascript权威指南》学习笔记之十二:数组、多维数组和符合数组(哈希映射)

    Array(数组)是JavaScript中较为复杂的数据类型,同Java.C#.VB等程序语言的数组相比.Javascript数组中的元素不必为同样的数据类型,能够在数组每一个元素上混合使用数字.日期 ...

  7. 程序集的内部结构(托管模块、元素局、IL代码的分布情况)

    程序集的内部结构 在看程序集的结构之前,我们先来看托管模块的结构. 托管模块由四部分组成:PE32头.CLR头.元数据(Metadata).IL代码.其中PE32头是用来决定托管模块运行的系统环境(3 ...

  8. AsyncTask的用法总结

    这几天被AsyncTask虐得不行,在此总结下 首先: AsyncTask的参数介绍 在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占 ...

  9. Charles_N:HTTP请求响应监听工具

    Charles:HTTP请求响应监听工具使用说明.doc   1.    介绍 Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信 ...

  10. 基于visual Studio2013解决C语言竞赛题之1018数组求和

         题目 解决代码及点评 /************************************************************************/ ...