news 2026/4/1 14:16:06

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/3/25 9:22:50

通过uac 协议 与 ESP32-S3 通讯控制 麦克风和扬声器 简单介绍

硬件配置方案1:I2S麦克风 I2S扬声器(推荐)⭐⭐⭐⭐⭐ESP32-S3 ├─ I2S0 (扬声器输出) │ ├─ GPIO4 → BCLK │ ├─ GPIO5 → WS (LRCLK) │ └─ GPIO18 → DOUT │ └─ I2S1 (麦克风输入)├─ GPIO6 → BCLK├─ GPIO7 → W…

作者头像 李华
网站建设 2026/4/1 0:04:22

零基础理清AI术语:大模型、RAG、Agent等概念关系解析!

你是否曾在阅读科技文章时,被“大模型”、“RAG”、“Agent”、“知识图谱”这些术语轮番轰炸,感觉它们既相互关联又界限模糊? 仿佛面对一个庞大乐高城市,分不清哪块积木支撑着核心结构,哪块又是实现特定功能的精巧组件…

作者头像 李华
网站建设 2026/3/13 5:53:27

CTF Misc模块系列分享(二):编码解码全解析!签到题拿分快人一步

CTF Misc模块系列分享(二):编码解码全解析!签到题拿分快人一步 上期我们搞定了Misc模块的入门概念、题型分类和核心工具,今天咱们就如约进入Misc的核心基础题型——编码解码全解析。 编码解码是Misc中性价比最高的题…

作者头像 李华
网站建设 2026/3/30 16:53:20

收藏!大模型转行学习全攻略:程序员/小白避坑指南

这两年,大模型彻底打破了实验室的壁垒,从高冷的学术研究成果,走进了程序员、学生、职场转行者的日常工作与职业规划中。无论是聊天框里的AI助手,还是简历上的技能标注,大模型都成了绕不开的热门话题。 几乎每天都有粉…

作者头像 李华
网站建设 2026/3/16 6:57:58

使用 Hugging Face Transformers 微调和部署 GPT 模型 | 教程

对于机器学习研究员和爱好者而言,Hugging Face 如今已是一个家喻户晓的名字。 他们最显著的成果之一便是Transformers,这是一个适用于文本、计算机视觉、音频和视频领域机器学习模型的模型定义框架。 由于Hugging Face Hub上拥有海量最先进的机器学习模型…

作者头像 李华