[petsc-dev] bin/sh error while running tests

Satish Balay balay at mcs.anl.gov
Wed Jan 20 08:40:58 CST 2021


Probably best to stick with 'sh' - if bash were universal - we could add in this dependency..

diff --git a/config/BuildSystem/config/programs.py b/config/BuildSystem/config/programs.py
index f35baa2e0c..6a684310dd 100755
--- a/config/BuildSystem/config/programs.py
+++ b/config/BuildSystem/config/programs.py
@@ -70,7 +70,7 @@ class Configure(config.base.Configure):
 
   def configurePrograms(self):
     '''Check for the programs needed to build and run PETSc'''
-    self.getExecutable('sh',   getFullPath = 1, resultName = 'SHELL')
+    self.getExecutable('bash',   getFullPath = 1, resultName = 'SHELL')
     if not hasattr(self, 'SHELL'): raise RuntimeError('Could not locate sh executable')
     self.getExecutable('sed',  getFullPath = 1)
     if not hasattr(self, 'sed'): raise RuntimeError('Could not locate sed executable')

Satish

On Wed, 20 Jan 2021, Stefano Zampini wrote:

> as long as this gets fixed, I'm fine with any solution
> 
> Il giorno mer 20 gen 2021 alle ore 16:04 Pierre Jolivet <pierre at joliv.et>
> ha scritto:
> 
> > Sorry for the noise, I'm now just realizing that it is in fact exactly the
> > same bash-ism… (I prefer my “fix” though, but I guess the rest of Stefano’s
> > comment still holds true).
> >
> > Thanks,
> > Pierre
> >
> > On 20 Jan 2021, at 1:59 PM, Pierre Jolivet <pierre at joliv.et> wrote:
> >
> >
> >
> > On 20 Jan 2021, at 12:11 PM, Stefano Zampini <stefano.zampini at gmail.com>
> > wrote:
> >
> > This is an issue with the default shell used by the makefile. Below is my
> > fix. We should probably have a CI machine that checks for these
> > shell-related errors.
> >
> >
> > I second this. Just spent too much time finding this other bash-ism in
> > gmakefile.test…
> > https://gitlab.com/petsc/petsc/-/commit/e4b11943e93779206a0e5f2091646de2e86b10e3#551c4017403b9179c385d5600f43348b6288a751
> >
> > 2021-01-20T11:21:22.5942304Z /usr/bin/sh: 1: test: false: unexpected operator
> > 2021-01-20T11:21:22.5981176Z make: *** [gmakefile.test:270: check-test-errors] Error 1
> >
> > Thanks,
> > Pierre
> >
> > diff --git a/gmakefile.test b/gmakefile.test
> > index c38e37f..ffd7bdb 100644
> > --- a/gmakefile.test
> > +++ b/gmakefile.test
> > @@ -379,10 +379,11 @@ starttime: pre-clean $(libpetscall)
> >         @$(eval STARTTIME := $(shell date +%s))
> >
> >  report_tests: starttime $(TESTTARGETS)
> > +ifeq ($(showreport),true)
> >         @$(eval ENDTIME := $(shell date +%s))
> > -       - at if test ${showreport} == "true"; then
> >  elapsed_time=$$(($(ENDTIME)- $(STARTTIME))) && \
> > -       $(PYTHON) $(CONFIGDIR)/report_tests.py -m $(MAKE) -d
> > $(TESTDIR)/counts -t 5 -e $${elapsed_time};\
> > -    fi
> > +       elapsed_time=$$(($(ENDTIME)- $(STARTTIME))) && \
> > +       $(PYTHON) $(CONFIGDIR)/report_tests.py -m $(MAKE) -d
> > $(TESTDIR)/counts -t 5 -e $${elapsed_time};
> > +endif
> >
> > Il giorno mar 19 gen 2021 alle ore 20:41 Scott Kruger <kruger at txcorp.com>
> > ha scritto:
> >
> >>
> >>
> >> I can't reproduce this with the latest master:
> >>
> >> hip 1261: git pull
> >> Already up to date.
> >> hip 1262: make -f gmakefile.test test search='notatest'
> >> Using MAKEFLAGS: -- search=notatest
> >> hip 1263:
> >>
> >>
> >>
> >> On 1/19/21 8:19 AM, Stefano Zampini wrote:
> >>
> >> Just rebased over latest master and got this
> >>
> >> zampins at vulture:~/Devel/petsc$ make -f gmakefile.test test
> >> search='notatest'
> >> Using MAKEFLAGS: -- search=notatest
> >> /bin/sh: 1: test: false: unexpected operator
> >>
> >> --
> >> Stefano
> >>
> >>
> >> --
> >> Tech-X Corporation               kruger at txcorp.com
> >> 5621 Arapahoe Ave, Suite A       Phone: (720) 466-3196
> >> Boulder, CO 80303                Fax:   (303) 448-7756
> >>
> >>
> >
> > --
> > Stefano
> >
> >
> >
> >
> 
> 


More information about the petsc-dev mailing list