本教程/笔记,意在指导在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. Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用

    现在,ContentProvider已经创建好了,可以去尝试使用一下. 1. 使用之前的工程,在布局文件main.xml中添加一些控件. <?xml version="1.0" ...

  2. c#基础练习之if结构

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace if语句 ...

  3. PHP - 防止非法调用页面

    这是在服务器内部: 首先定义一个常量 在调用页面的时候,检测是否存在此常量 如果存在,则调用 否则,做出提示. 创建常量: 创建常量的函数名称: define //创建一个常量,以便于页面调用,从主页 ...

  4. Java基础03 构造器与方法重载

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initial ...

  5. 去掉Qt加载png图像文件时候的iccp警告

    用QML加载png文件时显示如下警告(图像正常加载显示) libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP ...

  6. Sed常用实例总结

    [Sed简介] sed是一个文件处理工具,本身是一个管道命令,主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等.sed以行为单位,一次处理一行内容,处理时,把当前处理的行存储在临时 ...

  7. Swift - 给图片添加图片水印(图片上绘制另一张图,并可设透明度)

    我前面写了篇文章讲解如何给图片添加文字水印,而如果想要添加图片类型的水印也很简单,只要把原来代码里添加文字的部分改成图片即可. 1,效果图如下: (在图片左上角添加了一个半透明的logo图片) 2,为 ...

  8. Oracle基础知识笔记(10) 约束

    表尽管建立完毕了,可是表中的数据是否合法并不能有所检查,而假设要想针对于表中的数据做一些过滤的话,则能够通过约束完毕,约束的主要功能是保证表中的数据合法性,依照约束的分类,一共同拥有五种约束:非空约束 ...

  9. cocos2d-x游戏开发(十五)游戏加载动画loading界面

    个人原创,欢迎转载:http://blog.csdn.net/dawn_moon/article/details/11478885 这个资源加载的loading界面demo是在玩客网做逆转三国的时候随 ...

  10. 基于visual Studio2013解决面试题之0709求方

     题目