EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Build system prepending $(TOP) to make path on win32-x86
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: "Daykin, Evan" <daykin at frib.msu.edu>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 27 Oct 2020 22:11:36 +0000
Hi Evan,

On Oct 27, 2020, at 4:32 PM, Daykin, Evan <daykin at frib.msu.edu> wrote:

I’m not married to MSYS, it just happened to be the only version of make.exe on my PC – if this might be an issue, I can try another distribution of GNUmake. Is there a recommended one?

Did you read this page? There’s a link there to a copy of GNUmake 4.2.1 that I built, although it's actually a 64-bit binary, did you need 32-bit?

The other option is to use gmake.exe from a Strawberry Perl installation, which I prefer as the only software that you actually need to install to build EPICS on Windows, as well as Perl it comes with gmake, gcc and binutils but you have to explicitly set EPICS_HOST_ARCH to win32-x86-mingw or windows-x64-mingw to use that gcc. If you’re using MS Visual Studio to compile though the Strawberry Perl gmake.exe is also sufficient for either the win32-x86 or windows-x64 architectures.


> What version of Base did you install?
I am on launchpad’s version tag 3.15.
 
Make –version:
GNU Make 3.81
<license blurb omitted>
This program built for i686-pc-msys

That’s why your build failed, you do need a newer Make to build EPICS on Windows now, we recommend at least 4.0 (on Unix-like systems though 3.81 still works fine).


 Perl –v:
This is perl 5, version 32, subversion 0 (v5.32.0) built for MSWin32-x64-multi-thread

Okay, so that’s a 64-bit Perl, you should probably aim to build for windows-x64 instead of win32-x86 if you can.


make show-makefiles:
Can't open perl script ".": Permission denied
make: *** No rule to make target `show-makefiles'.  Stop.
 
Make PRINT.*: <all of these are the same output:
Can't open perl script ".": Permission denied
make: *** No rule to make target `PRINT.MAKE'.  Stop.

The “Can't open perl script” errors are because of your Make version but are really just a warning here; those other targets only exist on the 7.0 branch so that’s why they failed.

I think that explains your errors, hopefully my hints above will help.

You could also take a look at a version of the epics-controls Windows Installation document which is being worked on at the moment and provides some alternative approaches using MSYS2.

- Andrew


From: Johnson, Andrew N. <anj at anl.gov
Sent: Tuesday, October 27, 2020 2:20 PM
To: Daykin, Evan <daykin at frib.msu.edu>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Build system prepending $(TOP) to make path on win32-x86
 

[EXTERNAL] This email originated from outside of FRIB

Hi Evan,
 
I’m not an MSYS user myself (I’m not keen on the way it uses its own /c/… paths) but there are other people here with more experience of using it who I hope will respond (I think they recommend MSYS2 now though, do you know the difference?). In the meantime some basic questions to provide us with a bit more information: 
 
What version of Base did you install?
 
Can you try running these commands in your test2 directory and post the results please:
 
make —version
perl -v
make show-makefiles
make PRINT.MAKE
make PRINT.CONVERTRELEASE
make PRINT.RELEASE_TOPS
 
- Andrew
 


On Oct 27, 2020, at 11:49 AM, Daykin, Evan via Tech-talk <tech-talk at aps.anl.gov> wrote:
 
Good Afternoon,
 
I am attempting to get the EPICS build system working on win32-x86 architecture. I have successfully built base, but I get some strange behavior after trying to build an IOC created via makeBaseApp.pl. Here is what I run:
 
mkdir test2
cd test2
makeBaseApp.pl –t ioc test
makeBaseApp.pl –i –t ioc test
 
directory structure is now:
-configure
-iocBoot
-testApp
Makefile
 
configure/RELEASE points at the correct EPICS_BASE
 
Now, when I try running make, the following output results:
 
PS C:\Users\daykin\scratch\test2> make
Can't open perl script ".": Permission denied
/c/Users/daykin/scratch/test2/"C:/MinGW/msys/1.0/bin/make.exe" -C ./configure install
/bin/sh: /c/Users/daykin/scratch/test2/C:/MinGW/msys/1.0/bin/make.exe: No such file or directory
make.exe": *** [configure.install] Error 127
 
See the third line: Somehow, my $(TOP) is prepended to the location of make. It should just be running “C:/MinGW/msys/1.0/bin/make.exe”. I’m not sure if this is also the cause of “Can’t open perl script ‘.’”, which also seems strange.
 
Is there something I’m missing here?
 
-Evan
 
-- 
Complexity comes for free, simplicity you have to work for.

-- 
Complexity comes for free, simplicity you have to work for.


References:
Build system prepending $(TOP) to make path on win32-x86 Daykin, Evan via Tech-talk
Re: Build system prepending $(TOP) to make path on win32-x86 Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: RE: Build system prepending $(TOP) to make path on win32-x86 Akeroyd, Freddie (STFC, RAL, ISIS) via Tech-talk
Next: CSS Build error Vishnu Patel via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Build system prepending $(TOP) to make path on win32-x86 Akeroyd, Freddie (STFC, RAL, ISIS) via Tech-talk
Next: Re: Build system prepending $(TOP) to make path on win32-x86 Ralph Lange via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 29 Oct 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·