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  <20152016  2017  2018  2019  2020  2021  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Unable to build support modules on Windows, with base 3.15.2
From: "Heesterman, Peter J" <[email protected]>
To: "'Mark Rivers'" <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 30 Oct 2015 17:06:20 +0000

Thank you, Mark. I will update my seq version.

 

I did just reproduce the textual anomaly, while using make –j4, see attached screen shot.

The code seems to have built quite normally, however.

 

Cheers,

 

Peter.

 

 

From: Mark Rivers [mailto:[email protected]]
Sent: 30 October 2015 16:42
To: Heesterman, Peter J; [email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

I am not having any problems with seq 2-2-3.

 

Mark

 

 

From: Heesterman, Peter J [mailto:[email protected]]
Sent: Friday, October 30, 2015 10:57 AM
To: Mark Rivers; [email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

Hi Mark,

 

I have seq 2.1.15 (I’m aware there are newer versions).

 

OK, here’s what it is:

This seq version appears to need two make passes to build to successful completion - this is the case whether 1, or more, cores are being used.

I never noticed that before.

 

Before building Asyn, I was careful to clean and re-build its dependencies, with single core use.

But once only, and I had overlooked the seq build fail.

 

So you’re right, the error in Asyn is just a consequence of that.

 

Thanks,

 

Peter.

 

 

From: Mark Rivers [mailto:[email protected]]
Sent: 29 October 2015 18:19
To: Heesterman, Peter J; [email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

Hi Peter,

 

What version of seq are you building?  That is failing with this error:

 

'..' is not recognized as an internal or external command, operable program or batch file.

 

Your build error in asyn is simply because seq has not been built yet, so it does not know how to compile the SNL code.

 

Mark

 

 

 

From: Heesterman, Peter J [mailto:[email protected]]
Sent: Thursday, October 29, 2015 1:11 PM
To: Mark Rivers;
[email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

Hi Mark,

 

I have 4 cores on my (somewhat elderly) PC.

 

So I have built using –j4.

( I get near 100% CPU consumption b.t.w., and substantially increased build speed.)

 

I haven’t seen the race condition (or the anomalous screen output), but I do get build failure, see attached.

(base 3.15.2 built OK.)

 

Thanks,

 

Peter.

 

 

From: Mark Rivers [mailto:[email protected]]
Sent: 29 October 2015 17:09
To: Heesterman, Peter J;
[email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

I have seen the race condition you describe with "make -j" when using make 4.1 and base 3.15.2. 

 

However, it works for me if I do “make –j8” rather than “make –j”.  –j8 limits to 8 parallel threads, compared to no limit with –j.

 

I posted a message to tech-talk summarizing my experience building 3.15.2-rc1 in May 2015.

http://www.aps.anl.gov/epics/tech-talk/2015/msg00886.php

 

This was the summary of conclusions with parallel builds on Windows in that message:

-    - make 3.81 does not work properly with –jN, but it does work properly with –j (unlimited threads).

-    - make 3.81 and 4.1 both work fine building 3.14.12.5 either locally or remotely on a Linux file server with –sj (unlimited threads).

-    - make 3.81 and 4.1 both frequently hang up when building 3.15.2-rc1 locally with –sj.  4.1 appears to with OK with –sj8.

-    - make 3.81 and 4.1 both fail 100% of the time when building 3.15.2-rc-1 remotely with –sj.  This does NOT happen with 3.14.12.5. Note that this cannot be because the all 8 cores are 100% busy, because they are never more than about 40% busy.  The build is completely I/O bound when building remotely, but –sj still hangs.

-   - 3.15.2-rc1 takes 1.5 to 2 times longer to build than 3.14.12.5.

 

Mark

 

-----Original Message-----
From: Heesterman, Peter J [
mailto:[email protected]]
Sent: Thursday, October 29, 2015 11:37 AM
To: Mark Rivers;
[email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

Hi Mark,

 

Just to let you know that, while I have no problems building single-core with Make 4.1, make -j does not work for me on Windows.

 

Sometimes, the build process locks up in a race condition (consuming 100% of one core).

Sometimes, the build process delivers unexpected error messages.

Sometimes, the textual output to stdout/stderr is corrupted and incomprehensible (but this hasn't occurred while output was re-directed to a file, screen shot attached).

 

See the attached for examples I was able to capture.

 

Thanks,

 

Peter.

 

-----Original Message-----

From: Mark Rivers [mailto:[email protected]]

Sent: 17 September 2015 18:54

To: Heesterman, Peter J; 'Bob Soliday'; [email protected]

Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

Note that this EPICS Web page that describes how to build on Windows:

 

http://www.aps.anl.gov/epics/base/win32.php

 

It says:

"GNU Make: The GnuWin version that we used to suggest works OK for serial builds and versions of Base up to 3.15.1, but I now recommend using my 64-bit executable of Make 4.1 which also supports make -j for parallel builds."

 

So it explicitly says that the GunWin version of make (3.81) only works up to base 3.15.1.  You are building 3.15.2, for which you need to use Make 4.1 and that Web page provides a link to a tar file containing it.

 

Mark

 

 

 

-----Original Message-----

From: Heesterman, Peter J [mailto:[email protected]]

Sent: Thursday, September 17, 2015 8:53 AM

To: 'Bob Soliday'; [email protected]; Mark Rivers

Subject: RE: Unable to build support modules on Windows, with base 3.15.2

 

Hi Bob, Mark,

 

I was running gnumake 3.81 (which seems to be the most recent binary-installable version from http://gnuwin32.sourceforge.net/packages/make.htm?).

 

I downloaded make.exe (only) from http://www.equation.com/servlet/equation.cmd?fa=make and replaced (re-named) the existing make.exe.

(Don't think this is the 'proper' install process...?)

 

Now I'm able to build normally.

 

Many thanks,

 

Peter.

 

-----Original Message-----

From: [email protected] [mailto:[email protected]] On Behalf Of Bob Soliday

Sent: 16 September 2015 19:32

To: [email protected]

Subject: Re: Unable to build support modules on Windows, with base 3.15.2

 

What version of gnumake are you using on Windows? When I use 3.81 I get similar errors compiling my code in extensions. When I switch to 4.1 the errors disappear.

 

On 09/16/2015 01:22 PM, Mark Rivers wrote:

> Do these files optionally included from asyn/configure/RELEASE exist and contain anything?

> 

> -include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)

> -include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH)

> 

> Where $(EPICS_HOST_ARCH) is probably win32-x86-static for the builds you have been doing.

> 

> Mark

> 

> -----Original Message-----

> From: Heesterman, Peter J [mailto:[email protected]]

> Sent: Wednesday, September 16, 2015 1:19 PM

> To: Mark Rivers; 'Jani Hakala'

> Cc: EPICS Tech-Talk ([email protected])

> Subject: RE: Unable to build support modules on Windows, with base

> 3.15.2

> 

> Hi Mark,

> 

>>> modified any of the files in base/configure/os?

> No. I've checked carefully.

> 

> The RELEASE file is attached (as been fiddling with D:'s and slashes).

> 

> Which set are you referring to?

> Do you mean setting the path to perl, called from win32.bat?

> 

> D:\EPICS>REM   --------------- ActiveState perl -------------------

> 

> D:\EPICS>set

> PATH=C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\Wb

> em

> 

> Cheers,

> 

> Peter.

> 

> 

> -----Original Message-----

> From: Mark Rivers [mailto:[email protected]]

> Sent: 16 September 2015 18:54

> To: Heesterman, Peter J; 'Jani Hakala'

> Cc: EPICS Tech-Talk ([email protected])

> Subject: RE: Unable to build support modules on Windows, with base

> 3.15.2

> 

> Strange, it is putting the current path in front of the path to the perl script in base.

> 

> Have you modified any of the files in base/configure/os?

> 

> Send the contents of asyn/configure/RELEASE and the output of the "set" command.

> 

> Mark

> 

> 

> -----Original Message-----

> From: Heesterman, Peter J [mailto:[email protected]]

> Sent: Wednesday, September 16, 2015 12:21 PM

> To: Mark Rivers; 'Jani Hakala'

> Cc: EPICS Tech-Talk ([email protected])

> Subject: RE: Unable to build support modules on Windows, with base

> 3.15.2

> 

> Hi Mark,

> 

> That's a combination that I've tried, with the result attached.

> 

> Cheers,

> 

> Peter.

> 

> -----Original Message-----

> From: Mark Rivers [mailto:[email protected]]

> Sent: 16 September 2015 17:45

> To: Heesterman, Peter J; 'Jani Hakala'

> Cc: EPICS Tech-Talk ([email protected])

> Subject: RE: Unable to build support modules on Windows, with base

> 3.15.2

> 

> I define EPICS_BASE like this:

> EPICS_BASE=H:/epics/base-3.14.12.5

> 

> I use a drive letter and forward slashes.

> 

> Mark

> 

> 

> -----Original Message-----

> From: Heesterman, Peter J [mailto:[email protected]]

> Sent: Wednesday, September 16, 2015 11:36 AM

> To: Mark Rivers; 'Jani Hakala'

> Cc: EPICS Tech-Talk ([email protected])

> Subject: RE: Unable to build support modules on Windows, with base

> 3.15.2

> 

> Hi Mark, Jani,

> 

> Thank you for your responses.

> 

> FYI my build directory structure has:

> D:\EPICS

>             Base

>             Support

>                             Seq

>                             Asyn

>                             ...

> 

> I have configured RELEASE in these modules as:

>             EPICS_BASE=\EPICS\base

> 

> I have also experimented with (explicitly) D:\EPICS\base - I prefer to avoid doing so, as the C: drive could be used.

> I have also experimented with various combinations of the slash character.

> None of this made any difference.

> 

> You are correct, perl -CSD \EPICS\base/bin/win32-x86-static/makeMakefile.pl ... is the correct and expected output.

> I have no idea why D:/EPICS/support/asyn/configure/ has been prepended - it doesn't make any sense.

> 

> Also, why are the directories '.' and '..' being compiled as perl scripts, resulting in 'permission denied'?

> BTW, I have not set any unusual permissions - (Everyone - Read only), (Administrators, system and myself, full control).

> 

> Cheers,

> 

> Peter.

> 

> 

> 

> -----Original Message-----

> From: Mark Rivers [mailto:[email protected]]

> Sent: 15 September 2015 21:43

> To: 'Jani Hakala'; Heesterman, Peter J

> Cc: EPICS Tech-Talk ([email protected])

> Subject: RE: Unable to build support modules on Windows, with base

> 3.15.2

> 

> Hi Peter,

> 

> I agree with Jani.

> 

> This is what you are getting:

> 

> make[1]: Entering directory `D:/EPICS/support/asyn/configure'

> perl -CSD D:/EPICS/support/asyn/configure/\EPICS\base/bin/win32-x86-static/makeMakefile.pl O.win32-x86-static ../..

> 

> This is what I get:

> 

> make[1]: Entering directory 'C:/EPICS/Support-3-15/asyn-R4-26/configure'

> perl -CSD C:/EPICS/base-3.15.2/bin/windows-x64/makeMakefile.pl O.windows-x64 ../..

> 

> For some reason for you it is putting the current path in front of the path to the makeMakefile.pl script in EPICS base.

> 

> How have you defined EPICS_BASE in asyn/configure/RELEASE?

> 

> Mark

> 

> 

> -----Original Message-----

> From: [email protected]

> [mailto:[email protected]] On Behalf Of Jani Hakala

> Sent: Tuesday, September 15, 2015 3:03 PM

> To: Heesterman, Peter J

> Cc: EPICS Tech-Talk ([email protected])

> Subject: Re: Unable to build support modules on Windows, with base

> 3.15.2

> 

> "Heesterman, Peter J" <[email protected]> writes:

> 

>> Hi,

>> 

>> I just downloaded EPICS base 3.15.2, superseding previous 3.15.1.  I

>> am experiencing a problem building any of the support modules, while

>> using the make file build.  (There is no problem building base 3.15.2

>> itself, however.)

>> 

>> I've built all the same code successfully on Linux, while using

>> 3.15.2.

>> 

>> See attached, these are examples when trying to build Asyn or Seq,

>> but this applies to all modules I've looked at, and to different

>> build configurations I've attempted.  It all built OK when using 3.15.1.

>> 

>> What could I be missing?

>> 

> This doesn't look so good

> 

>      perl -CSD D:/EPICS/support/asyn/configure/\EPICS\base/bin/win32-x86-static/makeMakefile.pl O.win32-x86-static ../..

> 

> i.e. that "\EPICS\base" part.

> 

> I would check the contents of asyn/configure/RELEASE for definitions of SUPPORT and EPICS_BASE or the contents of environment variables.

> 

> Jani Hakala

> 

> 

> 

> 

 

Attachment: Asyn427_j4.png
Description: Asyn427_j4.png


Replies:
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
Re: Unable to build support modules on Windows, with base 3.15.2 Andrew Johnson
References:
Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
Re: Unable to build support modules on Windows, with base 3.15.2 Jani Hakala
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
Re: Unable to build support modules on Windows, with base 3.15.2 Bob Soliday
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers

Navigate by Date:
Prev: RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
Next: Re: asynPortDriver callbacks to I/O Intr, how to propagate an error? Heesterman, Peter J
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
Next: RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·