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=""