如何修复 libtool:x86_64-pc-msys 共享中不允许使用未定义的符号
How to fix libtool: undefined symbols not allowed in x86_64-pc-msys shared
我正在尝试为 msys2 构建 heimdal 包。令我沮丧的是,在第一个组成库 roken 的链接过程中,dll 未能构建,这导致了进一步的连锁反应。
我收到的唯一消息是:
libtool: undefined symbols not allowed in x86_64-pc-msys shared ... only static will be built
但是,没有提供关于哪些符号未定义的信息。我怎样才能找到它?
如果我打开命令输出 wuth make V=1
,我会得到从大量 .lo 文件链接的 libtool 命令。如果我尝试 运行 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/no/" libtool
如果您之前已经有一个失败的构建,您还应该在 运行 make
之前再次清理任何 .la
文件:
rm $(find -name '*.la')
我正在尝试为 msys2 构建 heimdal 包。令我沮丧的是,在第一个组成库 roken 的链接过程中,dll 未能构建,这导致了进一步的连锁反应。
我收到的唯一消息是:
libtool: undefined symbols not allowed in x86_64-pc-msys shared ... only static will be built
但是,没有提供关于哪些符号未定义的信息。我怎样才能找到它?
如果我打开命令输出 wuth make V=1
,我会得到从大量 .lo 文件链接的 libtool 命令。如果我尝试 运行 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/no/" libtool
如果您之前已经有一个失败的构建,您还应该在 运行 make
之前再次清理任何 .la
文件:
rm $(find -name '*.la')