gprbuild 未能包含 gnatcoll 所需的文件
gprbuild fails to include a file needed for gnatcoll
我尝试在 Fedora 35 上使用来自 GPS Community 2021 的 GnatColl 构建一些东西。链接器失败,说
ld: /path/to/common/Ada/Quoter/obj/gnatcoll-refcount.o: in function `gnatcoll__refcount__sync_bool_compare_and_swap':
gnatcoll-refcount.adb:(.text+0x622): undefined reference to `gnatcoll_sync_bool_compare_and_swap_access'
collect2: error: ld returned 1 exit status
如果我尝试 运行 使用 gprbuild -P Quoter.gpr
的项目,这也会失败。
我可以通过复制失败的命令 (gcc ...
) 并将 ~/opt/GNAT/2021/include/gnatcoll/gnatcoll_support.c
添加到要编译的文件列表中来从命令行修复此问题,因为这是具有所需功能的包含文件。但是,这非常不方便。
我想我的配置有点错误。可能这里有人有想法吗?
我找到了答案,这有点尴尬,但是查看 gnatcoll 示例就可以做到:将 with "gnatcoll";
添加到 gpr 文件的开头。
我尝试在 Fedora 35 上使用来自 GPS Community 2021 的 GnatColl 构建一些东西。链接器失败,说
ld: /path/to/common/Ada/Quoter/obj/gnatcoll-refcount.o: in function `gnatcoll__refcount__sync_bool_compare_and_swap':
gnatcoll-refcount.adb:(.text+0x622): undefined reference to `gnatcoll_sync_bool_compare_and_swap_access'
collect2: error: ld returned 1 exit status
如果我尝试 运行 使用 gprbuild -P Quoter.gpr
的项目,这也会失败。
我可以通过复制失败的命令 (gcc ...
) 并将 ~/opt/GNAT/2021/include/gnatcoll/gnatcoll_support.c
添加到要编译的文件列表中来从命令行修复此问题,因为这是具有所需功能的包含文件。但是,这非常不方便。
我想我的配置有点错误。可能这里有人有想法吗?
我找到了答案,这有点尴尬,但是查看 gnatcoll 示例就可以做到:将 with "gnatcoll";
添加到 gpr 文件的开头。