我正在尝试为msys2构建heimdal软件包。令我沮丧的是,在第一个组成库的链接过程中,损坏的dll无法构建,这进一步导致了连锁反应。
我收到的唯一消息是:
libtool:x86_64-pc-msys共享中不允许使用未定义的符号...仅将构建静态符号
但是,没有提供有关未定义符号的信息。我如何找到答案?
如果我打开命令make V=1
的输出,则会得到libtool命令,该命令从大量的.lo文件进行链接。如果我尝试对它们运行gcc
(从那里复制命令),它不会将它们识别为任何内容。
我正在尝试遵循msys2 package build script for heimdal中概述的说明。
在Windows上,不允许在建立未定义符号的同时建立共享库。
[尝试使用-Wl,-no-undefined
链接器标记进行构建,例如通过将LDFLAGS="-Wl,-no-undefined"
添加到./configure
命令。
如果不起作用,请尝试在./configure
之后和make
之前进行此操作:
sed -i.bak -e "s/\(allow_undefined=\)yes/\1no/" libtool
如果您之前已经有一个失败的版本,还应该在再次运行.la
之前清理所有make
文件:
rm $(find -name '*.la')