Getting an error if we provide --enable-tap-tests switch on SLES 12
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:
git clone --branch t47194_1 https://github.com/hackorum-dev/postgres.gitIn a checkout you already have, add the fork once:
git remote add hackorum https://github.com/hackorum-dev/postgres.gitthen, for this patchset and every later one:
git fetch hackorum t47194_1 && git checkout t47194_1Patchset v1 (message #1) is on t47194_1
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,
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