You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

上传Hackage包时遇c-sources相对路径错误求助

解决Hackage上传时的路径报错问题

报错信息

c-sources: C/libqhull_r.c' is not good relative path: same directory segment: ..

本地cabal配置片段

include-dirs:        C
C-sources:           C/libqhull_r.c
                   , C/geom_r.c
                   , C/geom2_r.c

本地执行cabal build可正常构建,但Hackage上传验证失败。

解决建议

  • 检查C目录下所有.c文件的#include语句,确认是否存在../这类跨目录引用。Hackage的路径验证比本地cabal更严格,这类引用会触发报错。如果有,改成基于include-dirs: C的相对路径(比如直接写头文件名,或C目录内的子路径)。
  • 尝试修改C-sources的路径写法,给每个路径加上当前目录前缀,比如写成./C/libqhull_r.c,再重新打包上传。
  • 本地执行cabal check命令,该命令会模拟Hackage的验证逻辑,能提前找出包中的合规性问题,方便定位具体原因。
  • 确认打包时C目录结构完整,无文件遗漏,且目录本身的路径未包含..这类特殊段。

内容的提问来源于stack exchange,提问作者user855443

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:12:26