>> I am trying to compile heimdal in msys environment . However for some >> reasons i do not understand, i am unable to build shared libraries. >> >> All i get during compilation is (output around error left for context): >> >> > CC memset_s.lo >> > CC strsep_copy.lo >> > CCLD libroken.la <http://libroken.la> >>> libtool: warning: undefined symbols not allowed in x86_64-pc-msys >> shared libraries; building static only >> > CCLD snprintf-test.exe >> > CC resolve-test.o >> > CCLD resolve-test.exe >> >> Before that i have followed instructions in >> https://github.com/msys2/MSYS2-packages/blob/master/heimdal/PKGBUILD in >> patching and configuring heimdal sources >> Is there a way to find out just what is midding? It is entirely possible >> my environment lacks some of the necessary shared libraries, but which ones? >>
> You have to pass `-Wl,-no-undefined` in LDFLAGS. > On Linux, SOs are not required to have been fully linked. Those > undefined symbols can be resolved during load time. But Windows DLL > loader is unable to perform this. DLLs cannot contain pending symbols > just like EXEs. That did not change anything. I have run make with V=1 for commands output, and this is what i get: > $ /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs -Wshadow -g -O2 -version-info 19:0:1 -Wl,--version-script,../../../lib/roken/version-script.map -Wl,-no-undefined -o libroken.la -rpath /usr/lib libroken_la-base64.lo libroken_la-bswap.lo libroken_la-concat.lo libroken_la-cloexec.lo libroken_la-ct.lo libroken_la-detach.lo libroken_la-doxygen.lo libroken_la-dumpdata.lo libroken_la-environment.lo libroken_la-eread.lo libroken_la-esetenv.lo libroken_la-ewrite.lo libroken_la-getaddrinfo_hostspec.lo libroken_la-get_default_username.lo libroken_la-get_window_size.lo libroken_la-getarg.lo libroken_la-getnameinfo_verified.lo libroken_la-getprogname.lo libroken_la-getxxyyy.lo libroken_la-h_errno.lo libroken_la-hex.lo libroken_la-hostent_find_fqdn.lo libroken_la-issuid.lo libroken_la-k_getpwnam.lo libroken_la-k_getpwuid.lo libroken_la-mini_inetd.lo libroken_la-mkdir.lo libroken_la-net_read.lo libroken_la-net_write.lo libroken_la-parse_bytes.lo libroken_la-parse_time.lo libroken_la-parse_units.lo libroken_la-qsort.lo libroken_la-rand.lo libroken_la-realloc.lo libroken_la-resolve.lo libroken_la-roken_gethostby.lo libroken_la-rtbl.lo libroken_la-setprogname.lo libroken_la-signal.lo libroken_la-simple_exec.lo libroken_la-snprintf.lo libroken_la-socket.lo libroken_la-strcollect.lo libroken_la-strerror_r.lo libroken_la-strpool.lo libroken_la-timeval.lo libroken_la-tm2time.lo libroken_la-unvis.lo libroken_la-verify.lo libroken_la-vis.lo libroken_la-warnerr.lo libroken_la-write_pid.lo libroken_la-xfree.lo getcap.lo copyhostent.lo closefrom.lo ecalloc.lo emalloc.lo erealloc.lo estrdup.lo freehostent.lo getipnodebyaddr.lo getipnodebyname.lo innetgr.lo memset_s.lo strsep_copy.lo -lcrypt > libtool: warning: undefined symbols not allowed in x86_64-pc-msys shared libraries; building static only > libtool: link: rm -fr .libs/libroken.a .libs/libroken.la .libs/libroken.lai > libtool: link: ar cru .libs/libroken.a libroken_la-base64.o libroken_la-bswap.o libroken_la-concat.o libroken_la-cloexec.o libroken_la-ct.o libroken_la-detach.o libroken_la-doxygen.o libroken_la-dumpdata.o libroken_la-environment.o libroken_la-eread.o libroken_la-esetenv.o libroken_la-ewrite.o libroken_la-getaddrinfo_hostspec.o libroken_la-get_default_username.o libroken_la-get_window_size.o libroken_la-getarg.o libroken_la-getnameinfo_verified.o libroken_la-getprogname.o libroken_la-getxxyyy.o libroken_la-h_errno.o libroken_la-hex.o libroken_la-hostent_find_fqdn.o libroken_la-issuid.o libroken_la-k_getpwnam.o libroken_la-k_getpwuid.o libroken_la-mini_inetd.o libroken_la-mkdir.o libroken_la-net_read.o libroken_la-net_write.o libroken_la-parse_bytes.o libroken_la-parse_time.o libroken_la-parse_units.o libroken_la-qsort.o libroken_la-rand.o libroken_la-realloc.o libroken_la-resolve.o libroken_la-roken_gethostby.o libroken_la-rtbl.o libroken_la-setprogname.o libroken_la-signal.o libroken_la-simple_exec.o libroken_la-snprintf.o libroken_la-socket.o libroken_la-strcollect.o libroken_la-strerror_r.o libroken_la-strpool.o libroken_la-timeval.o libroken_la-tm2time.o libroken_la-unvis.o libroken_la-verify.o libroken_la-vis.o libroken_la-warnerr.o libroken_la-write_pid.o libroken_la-xfree.o getcap.o copyhostent.o closefrom.o ecalloc.o emalloc.o erealloc.o estrdup.o freehostent.o getipnodebyaddr.o getipnodebyname.o innetgr.o memset_s.o strsep_copy.o > libtool: link: ranlib .libs/libroken.a > libtool: link: ( cd ".libs" && rm -f "libroken.la" && ln "../libroken.la" "libroken.la" ) The -no-undefined flag is being passed on, but no information on what is missing comes out
_______________________________________________ Msys2-users mailing list Msys2-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/msys2-users