Control: tags -1 + help Since I'm not quite familiar with Perl, any help or suggestions would be highly appreciated.
Thanks, Boyuan Yang 在 2019-10-09三的 23:45 +0300,Niko Tyni写道: > Package: libmarisa-perl > Version: 0.2.5-3 > Severity: grave > Control: block 935737 with -1 > > As noticed by the autopkgtest checks, the marisa Perl bindings are > totally broken in sid after the recent Perl 5.30 rebuild: > > $ perl -e 'use marisa' > Can't load '/usr/lib/x86_64-linux- > gnu/perl5/5.30/auto/marisa/marisa.so' for module marisa: > /usr/lib/x86_64-linux-gnu/perl5/5.30/auto/marisa/marisa.so: undefined > symbol: _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/x86_64- > linux-gnu/perl/5.30/DynaLoader.pm line 193. > at /usr/lib/x86_64-linux-gnu/perl5/5.30/marisa.pm line 11. > Compilation failed in require at -e line 1. > BEGIN failed--compilation aborted at -e line 1. > > Rebuilding marisa in testing with Perl 5.28 triggers the same > behaviour, > so it's not a change in Perl 5.30 that broke it. The previous sid > build > in July is not broken. > > It looks like this regressed with the gcc 8 -> 9 move. Linking the > DSO manually with gcc-8 makes it go away, as seen below. > > I have no idea what goes wrong here, but I noticed that broken > versions > of blib/arch/auto/marisa/marisa.so have no NEEDED entry for > libmarisa.so.0 > (as seen with 'objdump -p'). > > ---- reproduce the error ---- > > # apt build-dep libmarisa-perl > $ ./debian/rules build > $ cd bindings/perl > $ LD_LIBRARY_PATH=../../lib/marisa/.libs/ perl -I blib/arch -I > blib/lib -e 'use marisa' > Can't load 'blib/arch/auto/marisa/marisa.so' for module marisa: > blib/arch/auto/marisa/marisa.so: undefined symbol: > _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/x86_64-linux- > gnu/perl/5.30/DynaLoader.pm line 193. > at blib/lib/marisa.pm line 11. > Compilation failed in require at -e line 1. > BEGIN failed--compilation aborted at -e line 1. > > ---- explicitly link with gcc-8, no error --- > > # apt install gcc-8 > $ gcc-8 -shared -L/usr/local/lib -L../../lib/marisa/.libs -lmarisa > -fstack-protector -Wl,-z,relro -Wl,-z,now -Wl,--as-needed marisa- > swig.o marisa-swig_wrap.o -o blib/arch/auto/marisa/marisa.so > $ LD_LIBRARY_PATH=../../lib/marisa/.libs/ perl -I blib/arch -I > blib/lib -e 'use marisa' > > ---- explicitly link with gcc-9, same error again --- > > $ gcc-9 -shared -L/usr/local/lib -L../../lib/marisa/.libs -lmarisa > -fstack-protector -Wl,-z,relro -Wl,-z,now -Wl,--as-needed marisa- > swig.o marisa-swig_wrap.o -o blib/arch/auto/marisa/marisa.so > $ LD_LIBRARY_PATH=../../lib/marisa/.libs/ perl -I blib/arch -I > blib/lib -e 'use marisa' > Can't load 'blib/arch/auto/marisa/marisa.so' for module marisa: > blib/arch/auto/marisa/marisa.so: undefined symbol: > _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/x86_64-linux- > gnu/perl/5.30/DynaLoader.pm line 193. > at blib/lib/marisa.pm line 11. > Compilation failed in require at -e line 1. > BEGIN failed--compilation aborted at -e line 1. >
signature.asc
Description: This is a digitally signed message part