Reputation: 3618
I am trying to build heimdal package for msys2. To my dismay, during linking of the first constituent library, roken, dlls fail to be built, and that causes sort of a chain reaction further on.
The only message i get is:
libtool: undefined symbols not allowed in x86_64-pc-msys shared ... only static will be built
however, there is no information provided on what symbols are undefined. How can i find that out?
If i turn on output of commands wuth make V=1
i get libtool command that links from a large numbert of .lo files. If i try to run gcc
over them (copying command from there), it does not recognize them as anything.
I am trying to follow instructions as outlined in msys2 package build script for heimdal.
Upvotes: 2
Views: 1996
Reputation: 7305
On Windows building a shared library while allowing undefined symbols is not allowed.
Try to build with the -Wl,-no-undefined
linker flag, for example by adding LDFLAGS="-Wl,-no-undefined"
to the ./configure
command.
If that didn't work try this after ./configure
and before make
:
sed -i.bak -e "s/\(allow_undefined=\)yes/\1no/" libtool
If you already had a failed build earlier you should also clean up any .la
files like this before running make
again:
rm $(find -name '*.la')
Upvotes: 6