https://bugzilla.redhat.com/show_bug.cgi?id=2120661 --- Comment #7 from Petr Pisar <ppisar@xxxxxxxxxx> --- (In reply to Petr Pisar from comment #6) > (In reply to Miroslav Suchý from comment #5) > > perl5-libdnf5.x86_64: W: undefined-non-weak-symbol > > /usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so .... > > We need to see which exact symbol is missing. > # ldd -d -r /usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1 [...] libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007f8729d3e000) undefined symbol: PL_thr_key (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_2bool_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_more_sv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newRV (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_call_method (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_markstack_grow (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_2nv_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_croak_nocontext (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_setsv_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_bless (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_free_tmps (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_gv_init_pvn (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_2pv_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_get_sv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_newmortal (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_setref_pv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_mg_get (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_2uv_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newSVsv_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_pop_scope (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newSVuv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newSViv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_isobject (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_hv_common_key_len (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_free2 (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newSV (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_magic (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newSVpvn (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_setiv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_setpvn (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newRV_noinc (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_gv_add_by_type (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_savetmps (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_stack_grow (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_setpvf_nocontext (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newXS (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_setpv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_av_make (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_hv_common (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_av_len (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_2mortal (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_more_bodies (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_newSVnv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_2iv_flags (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_av_fetch (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_gv_stashpv (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_mg_find (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_push_scope (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_derived_from (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) undefined symbol: Perl_sv_backoff (/usr/lib64/perl5/vendor_perl/auto/libdnf5/repo/repo.so.1) It's missing -lperl: $ scanelf -n redhat-linux-build/bindings/perl5/auto/libdnf5/repo/repo.so TYPE NEEDED FILE ET_DYN libdnf5.so.1,libstdc++.so.6,libfmt.so.9,libgcc_s.so.1,libc.so.6 redhat-linux-build/bindings/perl5/auto/libdnf5/repo/repo.so >From a build log: /usr/bin/g++ -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -shared -Wl,-soname,repo.so.1 -o ../auto/libdnf5/repo/repo.so.1 CMakeFiles/perl5_repo.dir/CMakeFiles/perl5_repo.dir/repoPERL_wrap.cxx.o -Wl,-rpath,/home/test/rpmbuild/BUILD/dnf5-5.0.0/redhat-linux-build/libdnf: ../../../libdnf/libdnf5.so.1 -ldl -lstdc++fs -lstdc++ -lfmt -ljson-c -lmodulemd -lgobject-2.0 -lglib-2.0 -lsolv -lsolvext -lrpm -lrpmio -lpopt -lxml2 -lgpgme -lrepo -lglib-2.0 -lsolv -lsolvext -lrpm -lrpmio -lpopt -lxml2 -lgpgme -lrepo -lsqlite3 (Now something actually sets a dummy soname to "repo.so.1" and it breaks the Perl loader: perl -e 'require libdnf5::repo': Can't locate loadable object for module libdnf5::common. It searches for libdnf5/common.so.) Upstream Perl does not link extensions to libperl. Fedora as well as some other distributions patch Perl build systems to do it. Swig probably was missed. (The problem is that upstream Perl does not have a configuration option to save -lperl linker flag to.) I'd guess it's not a big deal. -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component https://bugzilla.redhat.com/show_bug.cgi?id=2120661 _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue