bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: strange build failure for cygwin32 in CI


From: Eli Zaretskii
Subject: Re: strange build failure for cygwin32 in CI
Date: Sun, 06 Oct 2024 21:17:38 +0300

> Date: Sun, 6 Oct 2024 20:04:20 +0200
> From: Patrice Dumas <pertusus@free.fr>
> 
> In Bruno CI, previously the cygwin32 tests did not really check the XS/C
> code, as iconv was missing.  Now it is installed and the XS/C code is
> tested.  There are many errors of missing symbols when linking,
> corresponding to all the symbols that are in libtexinfo.dll.a, as if
> libtexinfo.dll.a was not used in the link, although it is:
> 
> https://github.com/gnu-texinfo/ci-check/actions/runs/11203321204/job/31140537432
> libtool: link: gcc -shared  main/.libs/libtexinfoxs_la-build_perl_info.o 
> main/.libs/libtexinfoxs_la-get_perl_info.o 
> main/.libs/libtexinfoxs_la-options_get_perl.o   
> -L/usr/lib/perl5/5.32/i686-cygwin-threads-64int/CORE -lperl 
> ./.libs/libtexinfo.dll.a  -ggdb -O2 -fstack-protector-strong -O3   -o 
> .libs/cygtexinfoxs-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib 
> -Xlinker .libs/libtexinfoxs.dll.a
>  /usr/lib/gcc/i686-pc-cygwin/11/../../../../i686-pc-cygwin/bin/ld: 
> main/.libs/libtexinfoxs_la-build_perl_info.o: in function `convert_error':
>  
> /cygdrive/d/a/ci-check/ci-check/texinfo-7.1.90-20241006/build/tp/Texinfo/XS/../../../../tp/Texinfo/XS/main/build_perl_info.c:1180:
>  undefined reference to `newSVpv_utf8'
> ....
>  /usr/lib/gcc/i686-pc-cygwin/11/../../../../i686-pc-cygwin/bin/ld: 
> main/.libs/libtexinfoxs_la-build_perl_info.o: in function 
> `element_to_perl_hash':
>  
> /cygdrive/d/a/ci-check/ci-check/texinfo-7.1.90-20241006/build/tp/Texinfo/XS/../../../../tp/Texinfo/XS/main/build_perl_info.c:801:
>  undefined reference to `element_command_name'

This looks to me like a simple problem of library order: the
newSVpv_utf8 function is from Perl, no?  The above command has -lperl
before libtexinfo.dll.a, whereas it should probably be after it, no?
GNU ld is a single-pass linker, so the order matters.

If this is not the problem, can you tell which library defines each of
these "undefined" functions?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]