[petsc-dev] download problem p4est on Cori at NERSC

Tobin Isaac tisaac at uchicago.edu
Thu Feb 16 21:20:34 CST 2017


On Thu, Feb 16, 2017 at 05:48:57PM -0600, Barry Smith wrote:
> 
> > On Feb 16, 2017, at 5:01 PM, Tobin Isaac <tisaac at uchicago.edu> wrote:
> > 
> > The bootstrap script predates/supercedes  autoreconf to get the necessary m4 scripts and write configure.  The tarballs have the m4 scripts and configure, so they should be treated as standard gnu configure && make && make install scripts.  I think that's what I accomplished in p4est.py.  I'm on my phone, when I'm at a computer I'll look at this thread's history to see if I can figure out what's going on.
> 
>    You are confusing two errors. One is the issue you mention above, we don't care about that. The only error we care about is that p4est ./configure needs to run a compiled program to gather some information about the machine. On systems with cross-compiling this doesn't work since after ./configure compiles the program it cannot run it because it is not compatible with the hardware. So the question is: is there an easy way to hack the p4est configure so that we can provide the needed information directly and not have ./configure try to run an executable?

Okay, I get it now.  There should be `config.log` in
externalpackags/git.p4est that would let me know what particular check
it was working on when cross-compilation errors cropped up, and I
could try to help come up with a solution.

> 
>    Barry
> 
> Note that this problem is common for many autoconf based build systems, its solution depends on the details of how the particular system is using using executables to gather information.
> 
> > 
> > On February 16, 2017 4:34:35 PM CST, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >> 
> >> The best long term fix is to find out what things p4est needs to
> >> determine by a running a program and providing them some other way.
> >> 
> >> Toby
> >> 
> >>  So what things is p4est trying to determine by running a program?
> >> 
> >> Barry
> >> 
> >> 
> >> 
> >>> On Feb 16, 2017, at 3:25 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> >>> 
> >>> I don't understand autoconf well enough for cross compiling. Some
> >>> packages appear to require this - but others don't.
> >>> 
> >>> 
> >> https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Hosts-and-Cross_002dCompilation.html
> >>> 
> >>> So one would run 'config.guess' script on the compute node - and use
> >> this value on the compile node with configure?
> >>> 
> >>> I don't know how we could automate that..
> >>> 
> >>> Satish
> >>> 
> >>> On Wed, 15 Feb 2017, Mark Adams wrote:
> >>> 
> >>>> OK, that did not work. It says something about --host now.
> >>>> 
> >>>> On Wed, Feb 15, 2017 at 5:06 PM, Mark Adams <mfadams at lbl.gov> wrote:
> >>>> 
> >>>>> I think this will work because I have git when I configure on a
> >> login node
> >>>>> (Haswell). I build KNL by submitting a batch script (it takes to
> >> long to
> >>>>> fit in 30 minutes of an interactive session). That fails because
> >> git is not
> >>>>> available (can I just load the module ...) on a KNL compute node.
> >> It is
> >>>>> reconfiguring now, I'll let you know if it fails.
> >>>>> Thanks,
> >>>>> 
> >>>>> On Wed, Feb 15, 2017 at 4:59 PM, Satish Balay <balay at mcs.anl.gov>
> >> wrote:
> >>>>> 
> >>>>>> Sorry - this won't work - as p4est appears to require git
> >> [submodules?]..
> >>>>>> 
> >>>>>>>>>>>>>>>>>> p4est.py <<<<<<<<<<<<<
> >>>>>> def updateGitDir(self):
> >>>>>>   config.package.GNUPackage.updateGitDir(self)
> >>>>>>   Dir = self.getDir()
> >>>>>>   try:
> >>>>>>     libsc = self.libsc
> >>>>>>   except AttributeError:
> >>>>>>     try:
> >>>>>>       self.executeShellCommand([self.sourceControl.git,
> >> 'submodule',
> >>>>>> 'update', '--init'], cwd=Dir, log=self.log)
> >>>>>>       import os
> >>>>>>       if os.path.isfile(os.path.join(Dir,'sc','README')):
> >>>>>>         self.libsc = os.path.join(Dir,'sc')
> >>>>>>       else:
> >>>>>>         raise RuntimeError
> >>>>>>     except RuntimeError:
> >>>>>>       raise RuntimeError('Could not initialize sc submodule
> >> needed by
> >>>>>> p4est')
> >>>>>>   return
> >>>>>> <<<<<<
> >>>>>> 
> >>>>>> Satish
> >>>>>> 
> >>>>>> On Wed, 15 Feb 2017, Satish Balay wrote:
> >>>>>> 
> >>>>>>> batch won't help here. its git vs tarball - and p4est curently
> >> doesn't
> >>>>>> have a taball.
> >>>>>>> 
> >>>>>>> The following should give you a tarball - if you don't have git.
> >>>>>>> 
> >>>>>>> diff --git a/config/BuildSystem/config/packages/p4est.py
> >>>>>> b/config/BuildSystem/config/packages/p4est.py
> >>>>>>> index 4735ff4..1f9507c 100644
> >>>>>>> --- a/config/BuildSystem/config/packages/p4est.py
> >>>>>>> +++ b/config/BuildSystem/config/packages/p4est.py
> >>>>>>> @@ -4,7 +4,7 @@ class Configure(config.package.GNUPackage):
> >>>>>>>  def __init__(self, framework):
> >>>>>>>    config.package.GNUPackage.__init__(self, framework)
> >>>>>>>    self.gitcommit         = 'v2.0'
> >>>>>>> -    self.download          = ['git://https://github.com/cbu
> >>>>>> rstedde/p4est']
> >>>>>>> +    self.download          = ['git://https://github.com/cbu
> >>>>>> rstedde/p4est','https://github.com/cburstedde/p4est/archive/
> >>>>>> '+self.gitcommit+'.tar.gz']
> >>>>>>>    self.functions         = ['p4est_init']
> >>>>>>>    self.includes          = ['p4est_bits.h']
> >>>>>>>    self.liblist           = [['libp4est.a', 'libsc.a']]
> >>>>>>> 
> >>>>>>> I  can push this to master.
> >>>>>>> 
> >>>>>>> Satish
> >>>>>>> 
> >>>>>>> On Wed, 15 Feb 2017, Mark Adams wrote:
> >>>>>>> 
> >>>>>>>> Oh, this is because git does not work on KNL. Maybe I should do
> >>>>>>>> with-batch=1,
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>>> On Wed, Feb 15, 2017 at 4:36 PM, Mark Adams <mfadams at lbl.gov>
> >> wrote:
> >>>>>>>> 
> >>>>>>>>> I get this error on the KNL partition at NERSC.  P4est works on
> >> the
> >>>>>>>>> Haswell partition and other downloads seem to work on the KNL
> >>>>>> partition.
> >>>>>>>>> Any ideas?
> >>>>>>>>> 
> >>>>>>>> 
> >>>>>>> 
> >>>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>> 
> >>>> 
> >>> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170216/ad988ce2/attachment.sig>


More information about the petsc-dev mailing list