本教程/笔记,意在指导在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. assert()用法

    assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:[1] #include <assert.h>void assert( ...

  2. JavaScript DOM省市自适配select菜单

    <html> <head> <meta charset="UTF-8"> <meta name="Generator" ...

  3. WPF4字体改善

    原文 WPF4字体改善 WPF4对字体渲染做了很大的改善,增加了TextOptions属性,该属性可以设置TextFormattingMode,TextRenderingMode,TextHintin ...

  4. 基于visual Studio2013解决C语言竞赛题之0809链表排序

     题目

  5. three.js 源代码凝视(十)Math/Line3.js

    商域无疆 (http://blog.csdn.net/omni360/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:商域无疆 -  本博客专注于 敏捷开发 ...

  6. PHP - 概述

    第1章 PHP概述 学习要点: 1.PHP基础知识 2.PHP的环境配置 3.安装三款主流程序 4.PHP开发工具的选择 5.一个简单的示例 一.PHP基础知识 PHP PHP是一种目前最流行的服务端 ...

  7. delphi如何加上spliter分割条,任意调整大小

    如题1:如何把一个panel分割成四个小的panle 2:也就是如何加上spliter,分割条,任意调整大小 3.如何有独立的handle使用多个总共5个为什么呢,你放4个panel 然后放split ...

  8. SpringMVC 返回字符串

    今天看到一段代码,关于SpringMVC的Controller中返回字符串的代码,这段代码被我称为2b代码(英文名:2b Code). @RequestMapping(value="twoB ...

  9. boost中asio网络库多线程并发处理实现,以及asio在多线程模型中线程的调度情况和线程安全。

    1.实现多线程方法: 其实就是多个线程同时调用io_service::run for (int i = 0; i != m_nThreads; ++i)        {            boo ...

  10. pssh,pscp,pslurp使用实践

    因为常常须要到几十台机器上运行同样的命令,而眼下机器上还没有部署Saltstack或Puppet等集群化管理工具. 因为每台server上都使用同样的公钥,故之前都是写一些脚本:把IP 放到一个文件里 ...