Getting an error if we provide --enable-tap-tests switch on SLES 12
Hi,
We found that if we provide *--enable-tap-tests * switch at the time of PG
sources configuration, getting this below error
"
checking for Perl modules required for TAP tests... Can't locate IPC/Run.pm
in @INC (you may need to install the IPC::Run module) (@INC contains:
/usr/lib/perl5/site_perl/5.18.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.18.2
/usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.18.2
/usr/lib/perl5/5.18.2/x86_64-linux-thread-multi /usr/lib/perl5/5.18.2
/usr/lib/perl5/site_perl .) at ./config/check_modules.pl line 11.
BEGIN failed--compilation aborted at ./config/check_modules.pl line 11.
configure: error: Additional Perl modules are required to run TAP tests
"
look like this is happening because the Perl-IPC-Run package is not
available on SLES 12 where Perl-IPC-Run3 is available.
Srinu (my teammate) found that IPC::Run is hard coded in config/
check_modules.pl and if we replace Run to Run3 it works (patch is attached,
created by Srinu)
Do we have any better option to work without this workaround?
regards,
Attachments:
perl.patchapplication/octet-stream; name=perl.patchDownload
diff --git a/config/check_modules.pl b/config/check_modules.pl
index 611f3a673fd..f3c2080a4d8 100644
--- a/config/check_modules.pl
+++ b/config/check_modules.pl
@@ -8,7 +8,7 @@ use strict;
use warnings;
use Config;
-use IPC::Run 0.79;
+use IPC::Run3 0.04;
# Test::More and Time::HiRes are supposed to be part of core Perl,
# but some distros omit them in a minimal installation.
@@ -16,7 +16,7 @@ use Test::More 0.98;
use Time::HiRes 1.52;
# While here, we might as well report exactly what versions we found.
-diag("IPC::Run::VERSION: $IPC::Run::VERSION");
+diag("IPC::Run3::VERSION: $IPC::Run3::VERSION");
diag("Test::More::VERSION: $Test::More::VERSION");
diag("Time::HiRes::VERSION: $Time::HiRes::VERSION");
Hi,
On 2023-01-04 17:27:55 +0530, tushar wrote:
We found that if we provide *--enable-tap-tests * switch at the time of PG
sources configuration, getting this below error
"
checking for Perl modules required for TAP tests... Can't locate IPC/Run.pm
in @INC (you may need to install the IPC::Run module) (@INC contains:
/usr/lib/perl5/site_perl/5.18.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.18.2
/usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.18.2
/usr/lib/perl5/5.18.2/x86_64-linux-thread-multi /usr/lib/perl5/5.18.2
/usr/lib/perl5/site_perl .) at ./config/check_modules.pl line 11.BEGIN failed--compilation aborted at ./config/check_modules.pl line 11.
configure: error: Additional Perl modules are required to run TAP tests
"look like this is happening because the Perl-IPC-Run package is not
available on SLES 12 where Perl-IPC-Run3 is available.
Hm. It's available in newer suse versions:
https://scc.suse.com/packages/22892843
Srinu (my teammate) found that IPC::Run is hard coded in config/
check_modules.pl and if we replace Run to Run3 it works (patch is attached,
created by Srinu)
I don't think that can work. The patch changes what configure tests, but none
of the many uses of IPC::Run in the tests. And I don't think IPC::Run3
actually provides all the features of IPC::Run we use.
Have you actually tested running the tests with the patch applied?
Do we have any better option to work without this workaround?
You could install the module via cpan :/.
Greetings,
Andres Freund
On 1/5/23 2:40 AM, Andres Freund wrote:
Have you actually tested running the tests with the patch applied?
Yes but getting an errors like
t/006_edb_current_audit_logfile.pl .. Can't locate IPC/Run.pm in @INC
(you may need to install the IPC::Run module) (@INC contains:
/home/runner/edbas/src/bin/pg_ctl/../../../src/test/perl
/home/runner/edbas/src/bin/pg_ctl
Do we have any better option to work without this workaround?
You could install the module via cpan :/.
Yes, will try to install.
Thanks Andres.
--
regards,tushar
EnterpriseDB https://www.enterprisedb.com/
The Enterprise PostgreSQL Company