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: Ralph Lange via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Thu, 29 Oct 2020 18:07:36 +0100
Your MSYS looks like version 1.0, which is *very* old and long deprecated.
I have made very good experiences compiling EPICS using the current MSYS2. See also https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/installation-windows.html for pretty detailed instructions how to do that.

MSYS does use forward slashes in path names, correct, and mounts Windows volumes in a different place.
It's Bash is very robust and flexible with respect to the angle of slashes:

$ make --version
GNU Make 4.3
Built for x86_64-pc-msys
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ /usr/bin/make --version
... same ...
$ /c/Users/langer/MinGW/usr/bin/make --version
... same ...
$ "C:\Users\langer\MinGW\usr\bin\make" --version
... same ...
$ /c/Users/"langer\MinGW\usr\bin\make" --version
... same ...
$ "C:\Users/langer\MinGW/usr\bin/make" --version
... same ...

The MinGW toolchains produce plain Windows binaries that can be run from any shell (command prompt, Power Shell, MSYS Bash).
The only place where you might have to fix things is the generated "envPaths" file in your IOC application that needs to use forward slashes.

Cheers,
~Ralph


On Tue, 27 Oct 2020 at 19:19, Johnson, Andrew N. via Tech-talk <tech-talk at aps.anl.gov> wrote:
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.


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: Error in dbd/HPE3631Atest.dbd" line 12090 Johnson, Andrew N. via Tech-talk
Next: ArrayData read problem Jong Woo Kim 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 Johnson, Andrew N. via Tech-talk
Next: vscode extension for EPICS Victor Nadot 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 ·