Skip to content

build-app: assembled .app launcher exits 0 without running the program (Racket 9.3 CS) #1

Description

@turinglambdaai

现象

用 build-app 打包一个普通 glaze 应用(Racket 9.3 CS,官方发行版与 Homebrew 版均复现),产出的 App.app/Contents/MacOS/<name> 任何参数都立即 exit 0,程序体(module+ main)完全没有执行:

  • --version(应在 stdout 打印版本)→ 无输出,exit 0
  • --bogus-flag(command-line 应报 usage 并 exit 非 0)→ 无输出,exit 0
  • 入口第一行写文件日志 → 文件不产生

同一入口 raco exe 出的裸 launcher 与 raco distribute 出的扁平布局(bin/+lib/)都完全正常

复现

raco exe -o dist-test/app main.rkt          # ✓ 可运行
raco distribute dist-test/d dist-test/app   # ✓ 可运行
# build-app 的 assemble-macos-bundle 之后     # ✗ 任何输入 exit 0

完整上下文(真实项目):https://github.com/turinglambdaai/gptp-studio —— scripts/package-macos.sh 里的手工组装路线可作 workaround(把 distribute 的 bin/+lib/ 直拷进 Contents/{MacOS,lib} + 手写 Info.plist,实测可用)。

猜测方向

assemble-macos-bundle 对 launcher 的 Mach-O 改写/rpath 处理,或 wrapper entry 与移动后 lib 布局的耦合(exts/ert 路径)。症状是"加载成功但入口没跑",更像生成的 entry 或 bytecode 根路径在移动后解析到空集。

环境

  • macOS 15 (arm64)、Racket 9.3 CS(官方 aarch64 发行版 + Homebrew 均复现)
  • glaze main

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions