On Sun, Nov 17, 2024 at 07:29:18PM +0000, Gavin Smith wrote: > On Sun, Nov 17, 2024 at 07:41:37PM +0100, Patrice Dumas wrote: > > It does look like a bug somewhere. It could be an issue with how > libtool treats this platform. I know that it is frequent for libtool > libraries to be "re-linked" at the time of installation to work in their > installed locations. Here it appears that the library is in its final, > installed form before being installed. > > On GNU/Linux I can run a command on .libs/Parsetexi.so: > > ldd Parsetexi.so > linux-vdso.so.1 (0x00007ffe2e98c000) > libtexinfoxs.so.0 => > /home/g/src/texinfo/GIT/tp/Texinfo/XS/.libs/libtexinfoxs.so.0 > (0x00007f1940f28000) > libtexinfo.so.0 => > /home/g/src/texinfo/GIT/tp/Texinfo/XS/.libs/libtexinfo.so.0 > (0x00007f1940e4f000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1940c00000) > /lib64/ld-linux-x86-64.so.2 (0x00007f1940f82000) > > If you could do something similar on macos it could help to investigate > the problem.
Here it is, it is consistent with the error: % otool -L .libs/Parsetexi.so .libs/Parsetexi.so: /usr/local/lib/texi2any/libtexinfoxs.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/local/lib/texi2any/libtexinfo.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/local/opt/gettext/lib/libintl.8.dylib (compatibility version 13.0.0, current version 13.0.0) /usr/local/opt/libunistring/lib/libunistring.5.dylib (compatibility version 8.0.0, current version 8.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0) Note that the /usr/local/lib/texi2any/ directory does not exist. As a side note, file reports for Parsetexi.so Mach-0 64-bit bundle x86_64 and for libtexinfoxs.dylib Mach-0 64-bit dynamically linked shared library x86_64 > Parsetexi.la has the line: > > relink_command="(cd /home/g/src/texinfo/GIT/tp/Texinfo/XS; /bin/bash > \"/home/g/src/texinfo/GIT/tp/Texinfo/XS/libtool\" --tag CC --mode=relink > x86_64-linux-gnu-gcc -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv > -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -O2 -g -fPIC -avoid-version -module -Wl,-E -o > Parsetexi.la -rpath /usr/local/lib/texi2any > parsetexi/Parsetexi_la-Parsetexi.lo libtexinfoxs.la libtexinfo.la > @inst_prefix_dir@)" > > This shows it needs to be relinked. I attach Parsetexi.la and libtexinfoxs.la. The relink_command is "". -- Pat
# Parsetexi.la - a libtool library file # Generated by libtool (GNU libtool) 2.5.3 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='Parsetexi.so' # Names of this library. library_names='Parsetexi.so Parsetexi.so' # The name of the static archive. old_library='' # Linker flags that cannot go in dependency_libs. inherited_linker_flags=' ' # Libraries that this one depends upon. dependency_libs=' -R/usr/local/lib /Users/swiltgen/work/texinfo/tp/Texinfo/XS/libtexinfoxs.la -L/usr/local/lib /Users/swiltgen/work/texinfo/tp/Texinfo/XS/libtexinfo.la -liconv -lintl -lunistring' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for Parsetexi. current=0 age=0 revision=0 # Is this an already installed library? installed=no # Should we warn about portability when linking against -modules? shouldnotlink=yes # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/local/lib/texi2any' relink_command=""
# libtexinfoxs.la - a libtool library file # Generated by libtool (GNU libtool) 2.5.3 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libtexinfoxs.0.dylib' # Names of this library. library_names='libtexinfoxs.0.dylib libtexinfoxs.dylib' # The name of the static archive. old_library='' # Linker flags that cannot go in dependency_libs. inherited_linker_flags=' ' # Libraries that this one depends upon. dependency_libs=' -R/usr/local/lib /Users/swiltgen/work/texinfo/tp/Texinfo/XS/libtexinfo.la -L/usr/local/lib -liconv -lintl -lunistring' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for libtexinfoxs. current=0 age=0 revision=0 # Is this an already installed library? installed=no # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/local/lib/texi2any' relink_command=""