经验怪谈

技术文章

VESTA(GTK3)在 Linux 上运行

官方包不带 GTK3 运行库。缺 libgtk-3.so.0 时先装发行版 GTK3,RHEL7 默认不够新。

2026-09-04 · 科研软件 · Linux / 服务器

官方下载:VESTA 下载页

wget https://jp-minerals.org/vesta/archives/3.5.8/VESTA-gtk3.tar.bz2

这个包本身不包含 GTK3 库,只是编译时依赖了 GTK3,所以运行时系统必须有 GTK3 运行库。

现场笔记把目录放到 /home/software/。这里改成 /opt/software/,后面解压、ldd、环境变量步骤不变。

1. 检查系统有没有 GTK3

ldd ./VESTA | grep gtk

如果返回里有 libgtk-3.so.0 => /usr/lib... 一类路径,说明已经装好了。也可以查版本:

pkg-config --modversion gtk+-3.0

官方要求 GTK3 ≥ 3.22。RHEL 7 默认不行,用 RHEL 8+ / Rocky 8+ / Ubuntu 18.04+。

2. 没有的话就安装 GTK3

RHEL 8 / Rocky 8 / CentOS Stream 8+:

sudo dnf install gtk3-devel mesa-libGL-devel -y
sudo dnf install -y mesa-libGLU

Ubuntu / Debian:网络慢时可以换镜像源(原文改过 apt 源;不需要就跳过,直接 apt update):

# 需要时再换镜像,先备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# sudo sed -i 's/archive.ubuntu.com/<你用的镜像>/g' /etc/apt/sources.list
sudo apt update

证书报错时原文试过:

sudo apt update --allow-unauthenticated

然后装开发包和图形依赖:

sudo apt install -y libgtk-3-dev
sudo apt install -y libgl1-mesa-dev libglu1-mesa-dev
sudo apt install -y libglu1-mesa freeglut3-dev mesa-utils libglew-dev

验证库文件:

find /usr -name "libGLU.so.1" 2>/dev/null
sudo ldconfig

3. 解压并运行

tar -xvjf VESTA-gtk3.tar.bz2
mv VESTA-gtk3 /opt/software/
ldd /opt/software/VESTA-gtk3/VESTA-gui | grep libGLU
cd /opt/software/VESTA-gtk3
./VESTA

环境变量:

export PATH=/opt/software/VESTA-gtk3:$PATH

若仍提示 libgtk-3.so.0 not found,就是 GTK3 没装上或版本太老,按上面的命令再装一遍。