Bugzilla – Bug 1203064
sar2pcp from pcp-import-sar2pcp broken
Last modified: 2022-09-06 09:33:20 UTC
$ rpm -qf `which sar2pcp ` pcp-import-sar2pcp-5.2.5-2.3.x86_64 $ sar2pcp --help Can't locate XML/TokeParser.pm in @INC (you may need to install the XML::TokeParser module) (@INC contains: /usr/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.36.0 /usr/lib/perl5/vendor_perl/5.36.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.36.0 /usr/lib/perl5/5.36.0/x86_64-linux-thread-multi /usr/lib/perl5/5.36.0 /usr/lib/perl5/site_perl) at /usr/bin/sar2pcp line 20. BEGIN failed--compilation aborted at /usr/bin/sar2pcp line 20. $ zypper se -x --provides 'perl(XML::TokeParser)' Loading repository data... Reading installed packages... No matching items found.
package is only in devel:languages:perl:CPAN-X perl-XML-TokeParser someone needs to bring it to factory
Thanks for the report, Jiri... (In reply to Marcus Meissner from comment #1) > package is only in > devel:languages:perl:CPAN-X perl-XML-TokeParser > > someone needs to bring it to factory I'd be happy to handle the Factory submission for this. I branched off https://build.opensuse.org/package/show/home:dmdiss:perl/perl-XML-TokeParser and was able to get it running (with the addition of perl-TimeDate/perl(Date::Parse)), but I'm now stumbling on: # /usr/bin/sar2pcp ./int14.file int14.pcp perl: symbol lookup error: /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/PCP/LogImport/LogImport.so: undefined symbol: pmiStart # rpm -qf /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/PCP/LogImport/LogImport.so perl-PCP-LogImport-5.2.2-1.4.x86_64 # rpm -qf /usr/lib64/libpcp_import.so.1 libpcp_import1-5.2.2-1.4.x86_64 pcp (522)> git blame src/libpcp_import/src/exports 35ce669f6a (Nathan Scott 2013-12-03 16:16:53 +1100 1) PCP_IMPORT_1.0 { 35ce669f6a (Nathan Scott 2013-12-03 16:16:53 +1100 2) global: 35ce669f6a (Nathan Scott 2013-12-03 16:16:53 +1100 3) pmiStart;
(In reply to David Disseldorp from comment #2) ... > # /usr/bin/sar2pcp ./int14.file int14.pcp > perl: symbol lookup error: > /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/PCP/ > LogImport/LogImport.so: undefined symbol: pmiStart > > # rpm -qf > /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/PCP/ > LogImport/LogImport.so > perl-PCP-LogImport-5.2.2-1.4.x86_64 > > # rpm -qf /usr/lib64/libpcp_import.so.1 > libpcp_import1-5.2.2-1.4.x86_64 > > pcp (522)> git blame src/libpcp_import/src/exports > 35ce669f6a (Nathan Scott 2013-12-03 16:16:53 +1100 1) PCP_IMPORT_1.0 { > 35ce669f6a (Nathan Scott 2013-12-03 16:16:53 +1100 2) global: > 35ce669f6a (Nathan Scott 2013-12-03 16:16:53 +1100 3) pmiStart; The required pmiStart symbol is present: # readelf -aW /usr/lib64/libpcp_import.so.1|grep pmiStart 84: 0000000000003360 2487 FUNC GLOBAL DEFAULT 14 pmiStart@@PCP_IMPORT_1.0 But the perl library doesn't have libpcp_import.so as a depedency: # ldd /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/PCP/LogImport/LogImport.so linux-vdso.so.1 (0x00007ffd64a67000) libc.so.6 => /lib64/libc.so.6 (0x00007f051d91e000) /lib64/ld-linux-x86-64.so.2 (0x00007f051df1c000) I won't pretend to understand Makefile.PL logic, but pcp/src/perl/LogImport/Makefile.PL does appear to link against libpcp_import: 18 $libs = ["-L$ENV{PCP_TOPDIR}/src/libpcp/src -L$ENV{PCP_TOPDIR}/src/libpcp_import/src -lpcp_import -lpcp"]; ... 32 WriteMakefile( 33 NAME => 'PCP::LogImport', ... 46 LIBS => $libs,