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

Reply via email to