news 2026/5/1 6:16:29

Scilab编译、构建、安装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Scilab编译、构建、安装

文章目录

    • 一、官方推荐:优先使用预编译包
    • 二、编译 Scilab 所需的第三方依赖(Ubuntu 22.04+)
      • ✅ 1. 基础构建工具
      • ✅ 2. Java(Scilab GUI 和部分模块依赖 Java)
      • ✅ 3. 数学与数值库
      • ✅ 4. 图形与 GUI
      • ✅ 5. 其他核心依赖
      • ✅ 6. 可选依赖(增强功能)
    • 三、编译步骤(以 Scilab 2023.1 为例)
      • 步骤 1:获取源码
      • 步骤 2:配置构建(CMake)
      • 步骤 3:编译(耗时 30–60 分钟)
      • 步骤 4:安装
      • 步骤 5:运行
    • 四、Windows / macOS 编译说明
      • Windows
      • macOS
    • 五、常见编译问题与解决
    • 六、验证安装
    • 七、总结

Scilab 是一个功能丰富的开源科学计算环境,其从源码编译安装较为复杂,因为它依赖大量第三方库(数学、图形、Java、Python 等)。以下是在 Linux(以 Ubuntu 为例)上从源码编译 Scilab 的完整指南,包括依赖项、编译步骤和常见问题。


一、官方推荐:优先使用预编译包

⚠️除非你需要定制功能或开发 Scilab 本身,否则强烈建议使用官方预编译包

  • Ubuntu/Debian:sudo apt install scilab
  • 官网下载:https://www.scilab.org/download

从源码编译仅适用于

  • 需要最新开发版(nightly build)
  • 要修改 Scilab 核心代码
  • 特定硬件/系统无预编译包

二、编译 Scilab 所需的第三方依赖(Ubuntu 22.04+)

Scilab 依赖分为构建依赖(build-time)运行时依赖(run-time)。以下为完整列表:

✅ 1. 基础构建工具

sudoaptinstallbuild-essential cmakegitflex bison automake libtool

✅ 2. Java(Scilab GUI 和部分模块依赖 Java)

sudoaptinstalldefault-jdk default-jre ant

📌 Scilab 6.x必须使用 Java 8–17(推荐 OpenJDK 11)

✅ 3. 数学与数值库

sudoaptinstall\libblas-dev liblapack-dev\# 线性代数libarpack2-dev\# 特征值求解libfftw3-dev\# 快速傅里叶变换libhdf5-dev\# HDF5 数据格式libsuitesparse-dev\# 稀疏矩阵(UMFPACK, CHOLMOD)libeigen3-dev# C++ 模板线性代数库

✅ 4. 图形与 GUI

sudoaptinstall\libx11-dev libxext-dev libxrender-dev\# X11libgl1-mesa-dev libglu1-mesa-dev\# OpenGLlibgtk-3-dev\# GTK3(GUI)libcurl4-openssl-dev\# 网络通信libxml2-dev# XML 解析

✅ 5. 其他核心依赖

sudoaptinstall\libreadline-dev\# 命令行交互libgfortran-12-dev\# Fortran 支持(版本需匹配 GCC)python3-dev\# Python 接口texlive-latex-extra\# 文档生成doxygen# API 文档

✅ 6. 可选依赖(增强功能)

sudoaptinstall\libocaml-compiler-libs-ocaml-dev\# OCaml 接口libpcre3-dev\# 正则表达式libavcodec-dev libavformat-dev\# 视频支持(Xcos)libswscale-dev

💡总计约 50+ 个包,建议一次性安装上述所有依赖。


三、编译步骤(以 Scilab 2023.1 为例)

步骤 1:获取源码

gitclone https://github.com/scilab/scilab.gitcdscilab# 或下载 release 版本wgethttps://github.com/scilab/scilab/archive/refs/tags/v2023.1.tar.gztar-xzf v2023.1.tar.gz&&cdscilab-2023.1

步骤 2:配置构建(CMake)

mkdirbuild&&cdbuild cmake..\-DCMAKE_BUILD_TYPE=Release\-DENABLE_JAVA=ON\-DENABLE_PYTHON=ON\-DENABLE_GUI=ON\-DENABLE_XCOS=ON\-DENABLE_MPI=OFF\# 若无需 MPI-DENABLE_OCAML=OFF\# 若无需 OCaml-DCMAKE_INSTALL_PREFIX=/opt/scilab-2023.1

🔍关键 CMake 选项

  • -DENABLE_*:启用/禁用模块
  • -DCMAKE_INSTALL_PREFIX:安装路径
  • -DJAVA_HOME:指定 Java 路径(如/usr/lib/jvm/java-11-openjdk-amd64

步骤 3:编译(耗时 30–60 分钟)

make-j$(nproc)

步骤 4:安装

sudomakeinstall

步骤 5:运行

/opt/scilab-2023.1/bin/scilab

四、Windows / macOS 编译说明

Windows

  • 使用MSYS2 + MinGW-w64Visual Studio
  • 官方提供 Windows 编译指南
  • 极其复杂,需预编译所有依赖(如 BLAS、HDF5、Java)

macOS

  • 使用Homebrew安装依赖:
    brewinstallcmake openjdk@11 ant fftw hdf5 suite-sparse eigen gtk+3
  • 需处理macOS 安全限制(如 Java 签名、Gatekeeper)
  • 官方不提供 ARM64(Apple Silicon)原生支持(需 Rosetta 2)

📌强烈建议 macOS/Windows 用户直接使用官方二进制包


五、常见编译问题与解决

问题原因解决方案
Java not foundCMake 未找到 JDK设置-DJAVA_HOME=/path/to/jdk
BLAS/LAPACK linking error未安装 dev 包安装libblas-dev liblapack-dev
GUI fails to startGTK3 未安装安装libgtk-3-dev
“Fortran compiler not found”gfortran 未安装sudo apt install gfortran
HDF5 version mismatch系统 HDF5 太旧升级或从源码编译 HDF5

六、验证安装

启动 Scilab 后,运行以下命令检查模块:

// 检查已加载模块 atomsList() // 测试 Xcos xcos() // 测试线性代数 A = rand(1000,1000); B = A * A'; // 测试 Python 接口(若启用) python.load()

七、总结

项目说明
编译难度⭐⭐⭐⭐☆(高,依赖多)
推荐用户Scilab 开发者、高级用户
替代方案优先使用apt install scilab或官方.bin
最小依赖Java + BLAS/LAPACK + GTK3 + CMake
典型编译时间30–90 分钟(8 核 CPU)

💡最后建议
除非你有明确的定制需求,不要从源码编译 Scilab。官方预编译包已包含所有优化和依赖,开箱即用。
如需开发 Scilab 本身,请参考 官方开发者文档。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 12:26:17

【读书笔记】《商战》

《商战》:定位理论在商业竞争中的应用 一、关于《商战》这本书 作者与争议 作者:埃尔里斯和杰克特劳特(定位理论创始人)争议:有人认为定位理论已过时、过于简单影响力:深刻影响了马云、乔布斯、比尔盖茨…

作者头像 李华
网站建设 2026/4/27 6:07:53

【读书笔记】《十年一觉电影梦》

李安导演访谈:《十年一觉电影梦》 一、生命的起点与成长 出生与童年印象 李安导演谈到自己出生时的经历颇为惊险。据母亲回忆,他出生时脐带绕颈,大家都很担心他能否存活,整个过程迷迷糊糊的。这段经历似乎为他日后"有点做梦一样"的人生基调…

作者头像 李华
网站建设 2026/4/24 3:46:05

Frida自动化Hook移动端加密函数实战指南

一、Hook加密函数的核心价值‌ 在安全测试中,快速定位和验证加密逻辑是核心挑战。通过Frida动态插桩技术,可实现: ‌实时捕获加密参数‌(如密钥、明文输入)‌拦截并修改算法逻辑‌(测试异常分支&#xff…

作者头像 李华
网站建设 2026/4/21 19:34:59

大模型是风口还是天坑?4-5年大厂经验,要不要转赛道

大模型算是当下当之无愧的最火赛道,妥妥的新时代风口。 不少小伙伴都有这样的想法:新领域人才需求大、缺口多,竞争应该会更小,转行做大模型是不是更好就业?甚至能靠这个抵抗35岁中年危机? 最近也有同学提出…

作者头像 李华
网站建设 2026/4/18 8:44:46

‌幽默回顾:AI测试工具的“史诗级”bug‌

第一章 测试界的“黑色幽默剧场” 场景一:图像识别之《薛定谔的咖啡机》 某电商平台AI测试脚本执行购物流程验证时,因训练数据混入程序员加班监控录像,将办公室咖啡机识别为“最佳促销商品”。当脚本连续三天凌晨3点自动下单87台咖啡机&…

作者头像 李华