[petsc-users] Could not find make when building PETSc in Windows 7

Satish Balay balay at mcs.anl.gov
Mon Oct 28 19:34:46 CDT 2013


You appear to have 2 issues:


>>>>>>>>
fp.c^M
C:\CYGWIN~1\PETSC-~1.2\src\sys\error\fp.c(425): error: expression must have arithmetic or pointer type^M
      if (feclearexcept(FE_ALL_EXCEPT)) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_LIB,"Cannot clear floating point exception flags\n");^M
          ^^M
^M
C:\CYGWIN~1\PETSC-~1.2\src\sys\error\fp.c(436): error: expression must have arithmetic or pointer type^M
      if (fesetenv(FE_DFL_ENV)) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_LIB,"Cannot disable floating point exceptions");^M

<<<<<<<<<<

Looks like icc on windows has fenv.h - but doesn't support exceptions
properly. To workarround this - edit 
/cygdrive/c/cygwin_cache/petsc-3.4.2/arch-mswin-c-opt/include
and remove  the lines related to PETSC_HAVE_FENV_H

>>>>>
  "/usr/bin/ar: petscvecmod.o: No such file or directory
<<<<<

Mostlikely this is related to using 'winzip' or '7zip' to untar petsc
sources. Try using 'tar' from cygwin.

Or you can ignore this issue if not using f90 modules from your code.

Satish

On Mon, 28 Oct 2013, Qin Lu wrote:

> Satish,
> 
> I followed your suggestion to run "export PATH=/usr/bin:$PATH", now grep, rm, etc., point to those under /usr/bin. I then run configure and make all again, the previous make errors about grep, etc. , were gone! Now the make all ran to the end but gave the error "makefile:24: recipe for target 'all' failed", as shown below.  I opened the error.log and it said
> 
>  "/usr/bin/ar: petscvecmod.o: No such file or directory
> /usr/bin/cp: cannot stat `*.mod': No such file or directory"
> 
> But I checked "which ar" and it returned "/usr/bin/ar", so ar.exe is there.
> 
> The error.log and make.log makefile are attached for details.
> 
> Thanks for any suggestions,
> Qin 
> 
> =======  make output ========
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/src/contrib
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/src/contrib/fun3d
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/src/contrib/fun3d/comp
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/src/contrib/fun3d/incomp
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/src/benchmarks
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/include
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/include/finclude
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/include/finclude/ftn-auto
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/include/finclude/ftn-custom
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/include/petsc-private
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/include/sieve
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/tutorials
> libfast in: /cygdrive/c/cygwin_cache/petsc-3.4.2/tutorials/python
> Completed building libraries
> =========================================
> **************************ERROR************************************
> Error during compile, check arch-mswin-c-opt/conf/make.log
> Send it and arch-mswin-c-opt/conf/configure.log to petsc-maint at mcs.anl.gov
> *****************************************************************
> makefile:24: recipe for target 'all' failedmake: *** [all] Error 1
> 
> 
> 
> On Monday, October 28, 2013 11:50 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> 
> cygwin should have already setup PATH correctly so that its listed first
> 
> What do you have for:
> 
> echo $PATH
> which make
> which rm
> which grep
> export PATH=/usr/bin:$PATH
> which make
> which rm
> which grep
> 
> Satish
> 
> 
> 
> On Mon, 28 Oct 2013, Qin Lu wrote:
> 
> > Satish,
> >  
> > As far as I know, cygwin reads the Windows enviromental variable PATH. Can I not change the the setting in in the Windows enviromental variables (since other programs need them), but change the PATH used by cygwin only? Which file should I change?
> >  
> > Thanks,
> > Qin
> > 
> > 
> > 
> > On Monday, October 28, 2013 11:16 AM, Satish Balay <balay at mcs.anl.gov> wrote:
>> > > /cygdrive/c/Windows/SUA/common/rm -f -rf /cygdrive/c/cygwin_cache/petsc-3.4.3/arch-mswin-c-opt/lib/libpetsc*.*
> > 
> > You appear to have non cygwin stuff in your PATH. Can you remove these
> > things from your PATH - make sure grep in PATH is from cygwin - and
> > rerun configure && make
> > 
> > Satish
> > 
> > 
> > 
> > On Mon, 28 Oct 2013, Qin Lu wrote:
> > 
> > > Hi,
> > >  
> > > The configuration seemed to work, then I ran "make all" but got errors such as "grep: Cannot open file '/dev/fs/C/cygdrive/c/cygwin_cache/petsc-3.4.3/include/petscversion.h': No such file or directory". See the attached error.log and make.log for details.
> > >  
> > > I confirmed that c:\cygwin_cache\petsc-3.4.3\include\petscversion.h is there. '\The ''/dev/fs/C' part in the directory seems suspicious. Did I missed anything in the setup?
> > >  
> > > Thanks for any hints,
> > > Qin 
> > >  
> > >  
> > > 
> > > 
> > > 
> > > On Thursday, October 24, 2013 2:05 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> > >  
> > > pushed ee76e990026b11c1f9c153f288b72cc9b8ebb100 and merged to next.
> > > 
> > > It will go into 'maint' later..
> > > 
> > > Satish
> > > 
> > > 
> > > On Thu, 24 Oct 2013, Satish Balay wrote:
> > > 
> > > > Perhaps we should add back the windows-python check?
> > > > 
> > > > [since we haven't yet added the windows python support]
> > > > 
> > > > Satish
> > > > 
> > > > On Thu, 24 Oct 2013, Qin Lu wrote:
> > > > 
> > > > > Chetan
> > > > > 
> > > > > Great, that was the problem! I set python point to a copy that was not cygwin's. Now I set it to cygwin's python and it this error is gone! I am waiting to see if the whole building will finish without problems.
> > > > > 
> > > > > Thanks a lot for all you guys' helps.
> > > > > 
> > > > > Qin 
> > > > > 
> > > > > On Thursday, October 24, 2013 11:28 AM, Chetan Jhurani <chetan.jhurani at gmail.com> wrote:
> > > > > I vaguely recall seeing the "could not locate make" error
> > > > > when a non-cygwin python is picked up first in path.
> > > > > So ensure that "which python" points to cygwin python.
> > > > > 
> > > > > Another issue is that the --with-make argument, if it is
> > > > > needed, should be /cygdrive/C/cygwin64/bin (or with some
> > > > > other drive letter in between where cygwin is installed).
> > > > > 
> > > > > Chetan
> > > > > 
> > > > > 
> > > > > > -----Original Message-----
> > > > > > From: petsc-users-bounces at mcs.anl.gov [mailto:petsc-users-bounces at mcs.anl.gov] On Behalf Of Qin Lu
> > > > > > Sent: Thursday, October 24, 2013 8:43 AM
> > > > > > To: Jed Brown; petsc-users at mcs.anl.gov
> > > > > > Subject: Re: [petsc-users] Could not find make when building PETSc in Windows 7
> > > > > > 
> > > > > > Jed,
> > > > > > 
> > > > > > As I mentioned, I did add C:\cygwin64\bin (where make.exe is) to Path, and also tried to run
> > > > > > ./configure --with-cc='win32fe icl' --with-fc='win32fe ifort' --with-cxx='win32fe icl' --with-
> > > > > > make=/cygdrive/cygwin64/bin. It did not work, I just tried what you suggested: adding --download-make
> > > > > > in confugure, it gave the same error.
> > > > > > 
> > > > > > Thanks,
> > > > > > Qin
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On Thursday, October 24, 2013 10:36 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> > > > > > Qin Lu <lu_qin_2000 at yahoo.com> writes:
> > > > > > 
> > > > > > > Hello,
> > > > > > >
> > > > > > > I am trying to build PETSc in Windows 7 with following steps:
> > > > > > >
> > > > > > > 1. Installed cygwin 64-bit with python, make and other default packages under C:\cygwin64
> > > > > > > 2. Added C:\cygwin64\bin to Windows environmental variable Path.
> > > > > > > 3. Downloaded and unzipped PETSc 3.4.2.
> > > > > > > 4. Run mintty.exe to open a cygwin terminal.
> > > > > > > 5. In the cygwin terminal, under PETSc directory, run:  ./configure --with-cc='win32fe icl' --with-
> > > > > > fc='win32fe ifort' --with-cxx='win32fe icl'
> > > > > > >
> > > > > > > However, it gave an error "Could not locate the make utility on your system, make sure it is in your
> > > > > > path or use --with-make=/fullpathnameofmake and run ./configure again".  I suppose it should use
> > > > > > C:\cygwin64\bin\make.exe, which is already in path, but I still added  --with-
> > > > > > make=/cvgdrive/cygwin64/bin in configure's option and run configure again, yet it gave the same error.
> > > > > > 
> > > > > > You need to pass the full path to the make executable (or add it to your
> > > > > > path), or you can use --download-make.
> > > > > > 
> > > > > > 
> > > > > > > What should I do to let configure know the path of make?
> > > > > > >
> > > > > > > Many thanks for your help,
> > > > > > >
> > > > > > > Regard,
> > > > > > > Qin
> > > > > 
> > > >        


More information about the petsc-users mailing list