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

Satish Balay balay at mcs.anl.gov
Wed Oct 30 21:33:31 CDT 2013


The issue is a bit obscure - and check is not a direct one.

I pushed the following to next.

https://bitbucket.org/petsc/petsc/commits/360dfd136e5a414728a3d2843f8d3efe0cff4e09

Satish

On Mon, 28 Oct 2013, Barry Smith wrote:

> 
> 
> Begin forwarded message:
> 
> > From: Satish Balay <balay at mcs.anl.gov>
> > 
> > 
> > Mostlikely this is related to using 'winzip' or '7zip' to untar petsc
> > sources. Try using 'tar' from cygwin.
> 
>    Is there a way for configure to detect this problem and generate a very useful error message instead of having obscure crashes in the middle of builds that only Satish can decipher?
> 
>    Thanks
> 
>     Barry
> 
> > 
> > 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-dev mailing list