Bug#1127515: libio-compress-brotli-perl: FTBFS: undefined symbol: BrotliEncoderCreateInstance at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 201.
Santiago Vila
sanvila at debian.org
Mon Feb 9 18:05:04 GMT 2026
Package: src:libio-compress-brotli-perl
Version: 0.004001-2
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202602/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:libio-compress-brotli-perl, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean
debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_clean
[ ! -d /<<PKGBUILDDIR>>/brotli/c.save ] || mv /<<PKGBUILDDIR>>/brotli/c.save /<<PKGBUILDDIR>>/brotli/c
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_clean
debian/rules binary
dh binary
dh_update_autotools_config
dh_autoreconf
debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
[ ! -d /<<PKGBUILDDIR>>/brotli/c ] || mv /<<PKGBUILDDIR>>/brotli/c /<<PKGBUILDDIR>>/brotli/c.save
dh_auto_configure
/usr/bin/perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" LD="x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Wl,-z,now"
Checking if your kit is complete...
Warning: the following files are missing in your kit:
brotli/c/common/constants.h
brotli/c/common/context.h
brotli/c/common/dictionary.bin
brotli/c/common/dictionary.bin.br
brotli/c/common/dictionary.c
brotli/c/common/dictionary.h
brotli/c/common/platform.h
brotli/c/common/transform.c
brotli/c/common/transform.h
brotli/c/common/version.h
brotli/c/dec/bit_reader.c
brotli/c/dec/bit_reader.h
brotli/c/dec/decode.c
brotli/c/dec/huffman.c
brotli/c/dec/huffman.h
brotli/c/dec/prefix.h
brotli/c/dec/state.c
brotli/c/dec/state.h
brotli/c/enc/backward_references.c
brotli/c/enc/backward_references.h
brotli/c/enc/backward_references_hq.c
brotli/c/enc/backward_references_hq.h
brotli/c/enc/backward_references_inc.h
brotli/c/enc/bit_cost.c
brotli/c/enc/bit_cost.h
brotli/c/enc/bit_cost_inc.h
brotli/c/enc/block_encoder_inc.h
brotli/c/enc/block_splitter.c
brotli/c/enc/block_splitter.h
brotli/c/enc/block_splitter_inc.h
brotli/c/enc/brotli_bit_stream.c
brotli/c/enc/brotli_bit_stream.h
brotli/c/enc/cluster.c
brotli/c/enc/cluster.h
brotli/c/enc/cluster_inc.h
brotli/c/enc/command.h
brotli/c/enc/compress_fragment.c
brotli/c/enc/compress_fragment.h
brotli/c/enc/compress_fragment_two_pass.c
brotli/c/enc/compress_fragment_two_pass.h
brotli/c/enc/dictionary_hash.c
brotli/c/enc/dictionary_hash.h
brotli/c/enc/encode.c
brotli/c/enc/encoder_dict.c
brotli/c/enc/encoder_dict.h
brotli/c/enc/entropy_encode.c
brotli/c/enc/entropy_encode.h
brotli/c/enc/entropy_encode_static.h
brotli/c/enc/fast_log.h
brotli/c/enc/find_match_length.h
brotli/c/enc/hash.h
brotli/c/enc/hash_forgetful_chain_inc.h
brotli/c/enc/hash_longest_match64_inc.h
brotli/c/enc/hash_longest_match_inc.h
brotli/c/enc/hash_longest_match_quickly_inc.h
brotli/c/enc/hash_to_binary_tree_inc.h
brotli/c/enc/histogram.c
brotli/c/enc/histogram.h
brotli/c/enc/histogram_inc.h
brotli/c/enc/literal_cost.c
brotli/c/enc/literal_cost.h
brotli/c/enc/memory.c
brotli/c/enc/memory.h
brotli/c/enc/metablock.c
brotli/c/enc/metablock.h
brotli/c/enc/metablock_inc.h
brotli/c/enc/params.h
brotli/c/enc/prefix.h
brotli/c/enc/quality.h
brotli/c/enc/ringbuffer.h
brotli/c/enc/static_dict.c
brotli/c/enc/static_dict.h
brotli/c/enc/static_dict_lut.h
brotli/c/enc/utf8_util.c
brotli/c/enc/utf8_util.h
brotli/c/enc/write_bits.h
brotli/c/include/brotli/decode.h
brotli/c/include/brotli/encode.h
brotli/c/include/brotli/port.h
brotli/c/include/brotli/types.h
Please inform the author.
Warning (mostly harmless): No library found for -lbrotlienc-lbrotlidec
Generating a Unix-style Makefile
Writing Makefile for IO::Compress::Brotli
Writing MYMETA.yml and MYMETA.json
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build
make -j2
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Running Mkbootstrap for Brotli ()
chmod 644 "Brotli.bs"
"/usr/bin/perl" "/usr/share/perl/5.40/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.40/ExtUtils/typemap' -typemap '/<<PKGBUILDDIR>>/typemap' Brotli.xs > Brotli.xsc
cp lib/IO/Uncompress/Brotli.pm blib/lib/IO/Uncompress/Brotli.pm
cp lib/IO/Compress/Brotli.pm blib/lib/IO/Compress/Brotli.pm
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Brotli.bs blib/arch/auto/IO/Compress/Brotli/Brotli.bs 644
mv Brotli.xsc Brotli.c
x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"0.004001\" -DXS_VERSION=\"0.004001\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.40/CORE" Brotli.c
In file included from Brotli.xs:6:
ppport.h:4385:10: warning: âWIDEST_UTYPEâ redefined
4385 | # define WIDEST_UTYPE U64TYPE
| ^~~~~~~~~~~~
In file included from /usr/lib/x86_64-linux-gnu/perl/5.40/CORE/perl.h:3329,
from Brotli.xs:3:
/usr/lib/x86_64-linux-gnu/perl/5.40/CORE/handy.h:1422:9: note: this is the location of the previous definition
1422 | #define WIDEST_UTYPE PERL_UINTMAX_T
| ^~~~~~~~~~~~
rm -f blib/arch/auto/IO/Compress/Brotli/Brotli.so
x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Wl,-z,now -shared -L/usr/local/lib -fstack-protector-strong Brotli.o -o blib/arch/auto/IO/Compress/Brotli/Brotli.so \
\
chmod 755 blib/arch/auto/IO/Compress/Brotli/Brotli.so
cp bin/bro-perl blib/script/bro-perl
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/bro-perl
Manifying 2 pod documents
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test
make -j2 test TEST_VERBOSE=1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Brotli.bs blib/arch/auto/IO/Compress/Brotli/Brotli.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
# Failed test 'use IO::Compress::Brotli;'
# at t/00-load.t line 8.
# Tried to use 'IO::Compress::Brotli'.
# Error: Can't load '/<<PKGBUILDDIR>>/blib/arch/auto/IO/Compress/Brotli/Brotli.so' for module IO::Compress::Brotli: /<<PKGBUILDDIR>>/blib/arch/auto/IO/Compress/Brotli/Brotli.so: undefined symbol: BrotliEncoderCreateInstance at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 201.
# at /<<PKGBUILDDIR>>/blib/lib/IO/Uncompress/Brotli.pm line 14.
# Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/IO/Compress/Brotli.pm line 8.
# BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/IO/Compress/Brotli.pm line 8.
# Compilation failed in require at t/00-load.t line 8.
# BEGIN failed--compilation aborted at t/00-load.t line 8.
# Failed test 'use IO::Uncompress::Brotli;'
# at t/00-load.t line 9.
# Tried to use 'IO::Uncompress::Brotli'.
# Error: Attempt to reload IO/Uncompress/Brotli.pm aborted.
# Compilation failed in require at t/00-load.t line 9.
# BEGIN failed--compilation aborted at t/00-load.t line 9.
# Looks like you failed 2 tests of 2.
t/00-load.t ........
1..2
not ok 1 - use IO::Compress::Brotli;
not ok 2 - use IO::Uncompress::Brotli;
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
Can't load '/<<PKGBUILDDIR>>/blib/arch/auto/IO/Compress/Brotli/Brotli.so' for module IO::Compress::Brotli: /<<PKGBUILDDIR>>/blib/arch/auto/IO/Compress/Brotli/Brotli.so: undefined symbol: BrotliEncoderCreateInstance at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 201.
at /<<PKGBUILDDIR>>/blib/lib/IO/Uncompress/Brotli.pm line 14.
Compilation failed in require at t/01-uncompress.t line 8.
BEGIN failed--compilation aborted at t/01-uncompress.t line 8.
# Looks like your test exited with 2 before it could output anything.
t/01-uncompress.t ..
1..84
Dubious, test returned 2 (wstat 512, 0x200)
Failed 84/84 subtests
Can't load '/<<PKGBUILDDIR>>/blib/arch/auto/IO/Compress/Brotli/Brotli.so' for module IO::Compress::Brotli: /<<PKGBUILDDIR>>/blib/arch/auto/IO/Compress/Brotli/Brotli.so: undefined symbol: BrotliEncoderCreateInstance at /usr/lib/x86_64-linux-gnu/perl-base/DynaLoader.pm line 201.
at /<<PKGBUILDDIR>>/blib/lib/IO/Uncompress/Brotli.pm line 14.
Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/IO/Compress/Brotli.pm line 8.
BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/IO/Compress/Brotli.pm line 8.
Compilation failed in require at t/02-roundtrip.t line 8.
BEGIN failed--compilation aborted at t/02-roundtrip.t line 8.
# Looks like your test exited with 2 before it could output anything.
t/02-roundtrip.t ...
1..114
Dubious, test returned 2 (wstat 512, 0x200)
Failed 114/114 subtests
Test Summary Report
-------------------
t/00-load.t (Wstat: 512 (exited 2) Tests: 2 Failed: 2)
Failed tests: 1-2
Non-zero exit status: 2
t/01-uncompress.t (Wstat: 512 (exited 2) Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 84 tests but ran 0.
t/02-roundtrip.t (Wstat: 512 (exited 2) Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 114 tests but ran 0.
Files=3, Tests=2, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.10 cusr 0.02 csys = 0.13 CPU)
Result: FAIL
Failed 3/3 test programs. 2/2 subtests failed.
make[1]: *** [Makefile:1045: test_dynamic] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j2 test TEST_VERBOSE=1 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
More information about the pkg-perl-maintainers
mailing list