news 2026/9/6 1:46:14

AI安装CERN ROOT GEANT4 RADWARE GASPWARE

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI安装CERN ROOT GEANT4 RADWARE GASPWARE

WSL 核物理工具链安装提示词(脱敏可复用版)

请作为一名熟悉 Linux、WSL2、CMake、GTK/Qt 和核物理数据分析软件的系统工程师,帮助我在一台全新的 WSL2 Ubuntu 环境中安装并配置以下四套软件:

  1. CERN ROOT
  2. Geant4(简称 G4)
  3. Radware
  4. GASPware

目标是:安装完成后,我只需打开 WSL Ubuntu 终端,就能直接使用这四套软件及其命令,不需要每次手动重新配置环境。

环境与原则

  • 先检查实际发行版、版本、架构、WSL1/WSL2、用户名、CPU、内存、磁盘、网络、sudo 权限和 WSLg 状态;不要猜测环境。

  • 默认支持 Ubuntu 20.04 LTS amd64;如果发行版或架构不同,先说明兼容性并给出对应调整。

  • 所有用户态软件默认安装到:

    $HOME/opt/physics/
  • 不要修改 Windows PATH、Windows Python 或其他 WSL 发行版。

  • 不要把源码、构建目录和大压缩包放在/mnt/c等 Windows 挂载盘;优先使用 WSL 的 Linux 文件系统。

  • 不要读取、复制、上传或输出任何密码、token、SSH 私钥、云凭据或原有 shell 配置中的敏感内容。

  • 修改~/.bashrc~/.profile前先做安全备份或使用只追加的、带明确标记的区块;不要覆盖用户原有配置。

  • 所有下载都使用 HTTPS,固定版本时记录 URL、版本、提交号和 SHA256;校验失败必须停止,不得继续解压或编译。

  • 任何递归删除前都要解析并确认目标是本次安装专用的临时目录,不能删除$HOME、工作区根目录或未知目录。

  • 遇到需要密码、图形授权、网络代理或用户选择时,明确说明并暂停,不要把秘密写进命令行或日志。

版本与安装策略

ROOT

  • 优先使用 ROOT 官方针对 Ubuntu 20.04 amd64 的预编译二进制包,不要无理由从源码重新编译 ROOT。

  • 当前可用的兼容版本基线为 ROOT6.34.08

    https://github.com/root-project/root/releases/download/v6-34-08/root_v6.34.08.Linux-ubuntu20.04-x86_64-gcc9.4.tar.gz SHA256: 2df9d5d9c68f62efbccfa20959064a39435aaa02301f81d69e4042f6fb2b9c66
  • 解压后的最终目录应为:

    $HOME/opt/physics/root-6.34.08/
  • 使用官方bin/thisroot.sh配置环境。

  • 验证root-config --versionroot -b -q和 PyROOT 导入。

  • 检查二进制使用的 Python ABI;不要把不匹配的系统 Python 强行混用。

Geant4

  • 先检查官方发布页是否有与当前 Ubuntu/GCC/glibc 兼容的二进制;如果没有,使用源码构建。

  • 对 Ubuntu 20.04 amd64,默认采用 Geant411.2.2源码:

    https://gitlab.cern.ch/geant4/geant4/-/archive/v11.2.2/geant4-v11.2.2.tar.gz SHA256: 3a8d98c63fc52578f6ebf166d7dffaec36256a186d57f2520c39790367700c8d
  • 使用系统 GCC 9、CMake 和 Ninja,C++17,安装前缀:

    $HOME/opt/physics/geant4-11.2.2/
  • 默认启用:

    GEANT4_BUILD_MULTITHREADED=ON GEANT4_USE_GDML=ON GEANT4_USE_QT=ON GEANT4_USE_QT_QT6=OFF GEANT4_USE_OPENGL_X11=ON GEANT4_USE_RAYTRACER_X11=ON GEANT4_INSTALL_DATA=ON GEANT4_INSTALL_EXAMPLES=ON GEANT4_INSTALL_DATASETS_TENDL=OFF
  • 安装官方标准数据集,并确认每个数据目录真实存在。

  • 使用安装后的bin/geant4.sh;如果官方脚本把单独的数据变量留作注释,就在统一环境脚本中显式导出它们。

  • 编译并运行 Basic/B1 示例,验证库、CMake 配置和物理数据都可用。

Radware

  • 使用官方仓库:

    https://github.com/radforddc/rw05.git
  • 默认固定到已验证的提交;如果改用更新提交,必须先记录并验证具体 commit:

    fc0b431e5d8146095c054b4a2babd491d4130448
  • 源码在临时 staging 目录编译,最终安装到:

    $HOME/opt/physics/radware/
  • 使用 Linux Makefile,先构建核心目标:

    make -f Makefile.linux ... all
  • 再单独构建 GTK2 目标:

    make -f Makefile.linux ... gtk
  • 必须检查并安装这些 GUI 程序:

    gtkgls gtkesc gtklev gtk4dg
  • 不能把“make all成功”误认为 GTK 程序已安装;Radware 的 GTK 目标是独立的。

  • 配置并验证:

    RADWARE_HOME RADWARE_FONT_LOC RADWARE_ICC_LOC RADWARE_GFONLINE_LOC
  • 默认不启用需要 ORPHLIB 的.his文件支持,除非用户明确提供 ORPHLIB。

  • 保留 Radware 的binfonticcdocdemo和 shell 配置文件。

  • 说明正确的文件类型:

    gf3 一维谱分析 escl8r 二维 Ge-Ge 数据 levit8r 3D cube,通常使用 .lev 描述文件 4dg8r 4D hypercube,通常使用 .4dg 描述文件

GASPware

  • 使用官方仓库:

    https://github.com/pgramage/gaspware.git
  • 默认固定到已验证的提交:

    43c40f4340b771c90d25752cb298f59d1bb5dd37
  • 在 amd64 WSL 中使用GASPware_64bit,不要误用 32 位目录:

    $HOME/opt/physics/gaspware/GASPware_64bit/
  • 配置:

    GASPWARE_HOME=$HOME/opt/physics/gaspware/GASPware_64bit GSDIR=$GASPWARE_HOME/etc
  • bin加入 PATH,并确认cmatxtrackn是 x86-64 ELF 且ldd没有not found

  • 保留并集中复制说明书到:

    $HOME/opt/physics/gaspware/docs/

    至少包括:

    cmat.tex trackn.pdf trackn.tex ReadMe-CMAT.txt ReadMe-XTRACKN.txt

依赖、图形和环境配置

  • 使用发行版包管理器安装实际需要的 GCC/G++/GFortran、CMake、Ninja、Git、Python3、Numpy、readline、GTK2、Qt5、X11、OpenGL、Xerces-C、GDML 和常用 ROOT 依赖。

  • 安装前先确认软件包名称在当前发行版仓库存在;不要盲目复制其他 Ubuntu 版本的包名。

  • 如果 WSLg 存在并提供DISPLAY/WAYLAND_DISPLAY,启用并测试 GUI;不要硬编码一个不存在的显示服务器。

  • 生成统一脚本:

    $HOME/opt/physics/physics-env.sh
  • 该脚本应按正确顺序 source:

    geant4-11.2.2/bin/geant4.sh root-6.34.08/bin/thisroot.sh radware/.radware.bashrc
  • 统一设置并导出 ROOT、Geant4、Radware、GASPware 的路径、库路径、CMake 路径和 Geant4 数据变量。

  • 脚本必须幂等:重复 source 不应无限重复 PATH 或 LD_LIBRARY_PATH。可以使用 sentinel,但要允许用户在明确执行unset后重新初始化。

  • ~/.bashrc和需要时~/.profile追加带标记的 source 区块,使以下场景都能工作:

    新开的交互式 WSL shell bash -lc '...'
  • 不要覆盖用户已有的 aliases、函数、PATH 或代理配置。

最终目录

安装成功后只保留运行所需目录和记录文件;源码、构建、下载、测试中间文件放在专用临时目录,验证成功后删除:

$HOME/opt/physics/ ├── root-6.34.08/ ├── geant4-11.2.2/ ├── radware/ ├── gaspware/ │ ├── GASPware_64bit/ │ └── docs/ ├── physics-env.sh └── INSTALL-MANIFEST.txt

临时目录应类似:

$HOME/.cache/physics-install-XXXXXX/

失败时保留临时目录和日志并报告路径;成功后才删除。

必须执行的验收

在一个全新的 WSL shell 中验证:

command-vroot root-config geant4-config gf3 gls gtkgls gtkesc gtklev gtk4dg cmat xtrackn root-config--versiongeant4-config--versionpython3-c'import ROOT; print(ROOT.gROOT.GetVersion())'

还必须完成:

  • ROOTroot -b -q启动测试;
  • PyROOT 导入测试;
  • Geant4 Basic/B1 配置、编译和批处理运行;
  • 所有标准 Geant4 数据集目录检查;
  • Radware/GASPware 全部目标的ldd缺库扫描;
  • file cmat xtrackn gtklev gtk4dg的架构检查;
  • WSLg 存在时执行glxinfo -B
  • 实际启动gtklevgtk4dg,确认能创建窗口;
  • 关闭并重新打开 WSL 后再次执行命令查找。

如果某个 GUI 程序能创建窗口但打不开数据,不要直接归因于 GTK;继续检查输入文件类型、描述文件引用的数据文件路径、字节序和 Radware 文件格式。

交付内容

完成后请用简洁报告说明:

  1. 每个软件的版本、来源和安装路径;
  2. ROOT 是官方预编译二进制还是本地源码构建;
  3. Geant4 的编译选项和已安装数据集;
  4. Radware 的核心和 GTK 目标是否都已生成;
  5. GASPware 的GSDIR和说明书位置;
  6. 修改了哪些 shell 配置文件;
  7. 哪些验收通过、哪些功能因兼容性或缺少外部数据未启用;
  8. 临时目录是否已清理。

不要在报告中输出用户名、主机名、IP、token、密码、私钥或原有配置中的敏感内容。

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

论文格式模板全攻略:Word排版与样式设置实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 1:32:32

技术博文撰写受阻?项目信息不全成关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 1:31:27

帮派联赛跨日延续与无间模式实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 1:30:08

88.基于 Artix-7 的 FPGA DDR3 突发读写系统设计与验证

摘要 接口设计是FPGA工程落地的核心能力,本文以DDR3内存接口为完整载体,从物理层时序、控制器状态机、用户逻辑到仿真验证,逐步构建一个可直接运行的读写测试工程。文章不涉及空泛概念,全部代码基于Verilog HDL,可在Xilinx Artix-7系列器件上直接综合运行。通过本文,读者…

作者头像 李华