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: Building Epics base 3.15.2 in Windows 7
From: Mark Engbretson <[email protected]>
To: Mark Rivers <[email protected]>
Cc: "Klyachko, Alexander Vitalievich" <[email protected]>, "Engbretson, Mark S." <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 6 Nov 2015 17:02:04 -0600
Really?

I have a batch file under the VC directory, one under th VC\bin directory,  and various other versions if you often for the cross platform options.

On Nov 6, 2015, at 16:38, Mark Rivers <[email protected]> wrote:

I've read some more about "call" and I think I was mistaken.  The difference between the following lines in a batch file:

myscript.bat
call "myScript.bat"

is only that without "call" control passes to myScript.bat and never returns to the calling script.  With "call" control returns to the calling script after myScript.bat executes. So that is probably not the problem.

But I am also confused about Visual Studio 2015.  I installed the "Community" edition.  The only batch file I can find is the one Alexander is using, 

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vxvars32.bat

But that file is only for 32-bit builds.  I can't find a batch file for defining things for 64-bit builds.

Alexander, do you have a file for doing 64-bit builds on your system?

Mark


-----Original Message-----
From: Mark Rivers 
Sent: Friday, November 06, 2015 4:09 PM
To: 'Klyachko, Alexander Vitalievich'; Mark S. Engbretson; Andrew Johnson; 'Engbretson, Mark S.'
Cc: [email protected]
Subject: RE: Building Epics base 3.15.2 in Windows 7

I think I may see your problem:

You have the line:
call "C:\Program files (x86)\Microsoft Visual Studio 14.0\Common7\tools\vsvars32.bat"

I have this line:
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86_amd64

Note that your line starts with "call", while mine does not.

I believe that "call" creates a new batch file context.  That means that the definitions in vsvars32.bat are not preserved when the "called" batch file returns.

I think you should delete "call" and just invoke the vsvars32.bat file directly.

Mark

-----Original Message-----
From: Klyachko, Alexander Vitalievich [mailto:[email protected]] 
Sent: Friday, November 06, 2015 4:00 PM
To: Mark S. Engbretson; Mark Rivers; Andrew Johnson; 'Engbretson, Mark S.'
Cc: [email protected]
Subject: Re: Building Epics base 3.15.2 in Windows 7

That is probably true, but I can't figure out why.  I do have a script which opens a cmd window and sets variables before each make execution. Here's output:

C:\base-3.15.2\startup>rem EPICS base win32-x86 build

C:\base-3.15.2\startup>cd c:\base-3.15.2

c:\base-3.15.2>set EPICS_HOST_ARCH=win32-x86

c:\base-3.15.2>rem set PATH

c:\base-3.15.2>set PATH=C:\Program Files (x86)\GnuWin32\bin;C:\Strawberry\Perl\bin;C:\base-3.15.2\bin\win32-x86;C:\Program Fi
les (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\W
indows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x8
6)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Progra
m Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\
Intel\WirelessCommon\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;C:\Program Files (x86)\Common Files\Lenovo;C:\Program
Files (x86)\Common Files\lenovo\easyplussdk\bin;C:\SWTOOLS\ReadyApps;%USERPROFILE%\.dnx\bin;C:\Program Files\Microsoft DNX\Dn
vm\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\base-3.15.2\bin\win32-x86;C:\GnuWin32\bin

c:\base-3.15.2>rem "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

c:\base-3.15.2>call "C:\Program files (x86)\Microsoft Visual Studio 14.0\Common7\tools\vsvars32.bat"
c:\base-3.15.2>


Alex.



________________________________________
From: Mark S. Engbretson <[email protected]>
Sent: Friday, November 6, 2015 2:10 PM
To: Klyachko, Alexander Vitalievich; 'Mark Rivers'; 'Andrew Johnson'; 'Engbretson, Mark S.'
Cc: [email protected]
Subject: RE: Building Epics base 3.15.2 in Windows 7

So, you probably didn't actually run calling vsvars32.bat before you started
to make EPICS (in that SAME window), or some of your other settings trashed
the path.  So it is failing because it can not actually find the location of
the compiler.


-----Original Message-----
From: Klyachko, Alexander Vitalievich [mailto:[email protected]]
Sent: Friday, November 06, 2015 12:38 PM
To: Mark Rivers <[email protected]>; Mark S. Engbretson
<[email protected]>; Andrew Johnson <[email protected]>; 'Engbretson, Mark
S.' <[email protected]>
Cc: [email protected]
Subject: Re: Building Epics base 3.15.2 in Windows 7

After I type CL, the message is : 'CL' is not recognized as an internal or
external command, operable program or batch file.

There are no .obj files in /src/libCom/O.win32-x86, only .c and .d

Alex.


________________________________________
From: Mark Rivers <[email protected]>
Sent: Friday, November 6, 2015 12:30 PM
To: Klyachko, Alexander Vitalievich; Mark S. Engbretson; Andrew Johnson;
'Engbretson, Mark S.'
Cc: [email protected]
Subject: RE: Building Epics base 3.15.2 in Windows 7

What is the contents of base/src/libCom/O.win32-x86?  Are there any .obj
files there?

Mark


-----Original Message-----
From: Klyachko, Alexander Vitalievich [mailto:[email protected]]
Sent: Friday, November 06, 2015 11:03 AM
To: Mark Rivers; Mark S. Engbretson; Andrew Johnson; 'Engbretson, Mark S.'
Cc: [email protected]
Subject: Re: Building Epics base 3.15.2 in Windows 7

I'm doing pretty much the same to what Mark recommends, with one exception:
since my version of VS 2015 does not have vcvarsall.bat at all, I'm calling
vsvars32.bat directly. Is there something wrong with that?

set EPICS_HOST_ARCH=win32-x86
set PATH=C:\Program Files
(x86)\GnuWin32\bin;C:\Strawberry\Perl\bin;C:\base-3.15.2\bin\win32-x86;%PATH
%
call "C:\Program files (x86)\Microsoft Visual Studio
14.0\Common7\tools\vsvars32.bat"


P.S. To answer the previous questions: installed on my computer is VS 2015
Professional, I checked the Windows registry. Also, make was downloaded from
http://www.aps.anl.gov/epics/download/tools/make-4.1-win64.zip as
recommended in one of previous threads;  I assume it is 4.1

Thanks, Alex.

________________________________________
From: Mark Rivers <[email protected]>
Sent: Friday, November 6, 2015 11:00 AM
To: 'Mark S. Engbretson'; 'Johnson, Andrew N.'; 'Engbretson, Mark S.';
Klyachko, Alexander Vitalievich
Cc: [email protected]
Subject: RE: Building Epics base 3.15.2 in Windows 7

That's a good point.

I recently posted a message to tech-talk describing how I create batch files
and desktop shortcuts to properly set up a Windows cmd shell to build the
win32-x86 and windows-x64 architectures.

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

Mark


-----Original Message-----
From: Mark S. Engbretson [mailto:[email protected]]
Sent: Friday, November 06, 2015 9:37 AM
To: 'Johnson, Andrew N.'; 'Engbretson, Mark S.'; Mark Rivers; 'Klyachko,
Alexander Vitalievich'
Cc: [email protected]
Subject: RE: Building Epics base 3.15.2 in Windows 7

I can duplicate that exact same message if the  path to the correct
vcvarsall.bat is incorrect or never run. The actually path to the compiler
isn't know.

i.e. in startup\win32.bat

call "C:\Program files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
x86

After make crashes, does typing CL on the command line  do anything?


-----Original Message-----
From: Johnson, Andrew N. [mailto:[email protected]]
Sent: Thursday, November 05, 2015 6:30 PM
To: Engbretson, Mark S. <[email protected]>; Rivers, Mark L.
<[email protected]>; 'Klyachko, Alexander Vitalievich'
<[email protected]>
Cc: [email protected]
Subject: Re: Building Epics base 3.15.2 in Windows 7

> On 11/05/2015 05:40 PM, Mark S. Engbretson wrote:
> For whatever it is worth,  I also use MSVS2010, but did just grab the
> most recent tar from March 2015,  that source file does exists in that
> directory, but to me, the problem is at the line
> 
> process_begin: CreateProcess(NULL

I think this is a general error message produced by GNUmake on Windows when
it experiences certain kinds of problems. The parentheses contain a copy of
the previous command line that was output by make:

> cl -EHsc -GR                -nologo -D__STDC__=0
-D_CRT_SECURE_NO_DEPRECATE
> -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3 -w44355        -MD
> -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -TP  -I. -I ../O.Common -I.
> -I../../../src/libCom/osi/compiler/msvc
> -I../../../src/libCom/osi/compiler/default -I.
> -I../../../src/libCom/osi/os/WIN32
> -I../../../src/libCom/osi/os/default
-I..
> -I../../..
> /src/libCom/as -I../../../src/libCom/bucketLib
> -I../../../src/libCom/calc -I../../../src/libCom/cvtFast
> -I../../../src/libCom/cppStd -I../../../src/libCom/cxxTemplates
> -I../../../src/libCom/ dbmf -I../../../src/libCom/ellLib
> -I../../../src/libCom/env -I../../../src/libCom/error
> -I../../../src/libCom/fdmgr -I../../../src/libCom/flex
> -I../../../src/libCom/freeList -I../../../src/l ibCom/gpHash
> -I../../../src/libCom/iocsh -I../../../src/libCom/log
> -I../../../src/libCom/macLib -I../../../src/libCom/misc
> -I../../../src/libCom/osi -I../../../src/libCom/pool -I../../../src
> /libCom/ring -I../../../src/libCom/taskwd -I../../../src/libCom/timer
> -I../../../src/libCom/yacc -I../../../src/libCom/yacc
-I../../../src/libCom/yajl -I../../../include/compiler/msvc -I../.
> ./../include/os/WIN32 -I../../../include         -c
> ../../../src/libCom/osi/os/WIN32/epicsTempFile.cpp

> process_begin: CreateProcess(NULL, cl -EHsc -GR -nologo -D__STDC__=0
> -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy-
> -W3
> -w44355 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -T P -I. -I../O.Common
> -I. -I../../../src/libCom/osi/compiler/msvc
> -I../../../src/libCom/osi/compiler/default -I.
> -I../../../src/libCom/osi/os/WIN32
> -I../../../src/libCom/osi/os/default
-I..
> -I
> ../../../src/libCom/as -I../../../src/libCom/bucketLib
> -I../../../src/libCom/calc -I../../../src/libCom/cvtFast
> -I../../../src/libCom/cppStd -I../../../src/libCom/cxxTemplates
> -I../../../src
> /libCom/dbmf -I../../../src/libCom/ellLib -I../../../src/libCom/env
> -I../../../src/libCom/error -I../../../src/libCom/fdmgr
> -I../../../src/libCom/flex -I../../../src/libCom/freeList -I../../
> ../src/libCom/gpHash -I../../../src/libCom/iocsh
> -I../../../src/libCom/log -I../../../src/libCom/macLib
> -I../../../src/libCom/misc -I../../../src/libCom/osi
-I../../../src/libCom/pool -I../.
> ./../src/libCom/ring -I../../../src/libCom/taskwd
> -I../../../src/libCom/timer -I../../../src/libCom/yacc
> -I../../../src/libCom/yacc -I../../../src/libCom/yajl
> -I../../../include/compiler/msv c -I../../../include/os/WIN32
> -I../../../include -c
> ../../../src/libCom/osi/os/WIN32/epicsTempFile.cpp, ...) failed.
> make (e=2): The system cannot find the file specified.
> make[3]: *** No rule to make target 'epicsTempFile.obj', needed by
> 'antelope.exe'.  Stop.

Make was looking for the .obj output file that was supposed to have been
created by the cl compiler, but couldn't find it. There could be various
reasons for that, disk space might be one or possibly file permissions
although that seems a little unlikely given that this isn't the first file
it tried to compile. I don't really have any other ideas what could be
causing the issue at this point.

- Andrew

--
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has always got there
first, and is waiting for it.
   -- Terry Pratchett, Reaper Man

=



References:
Building Epics base 3.15.2 in Windows 7 Klyachko, Alexander Vitalievich
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers
Re: Building Epics base 3.15.2 in Windows 7 Klyachko, Alexander Vitalievich
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers
RE: Building Epics base 3.15.2 in Windows 7 Mark S. Engbretson
RE: Building Epics base 3.15.2 in Windows 7 Mark S. Engbretson
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers
Re: Building Epics base 3.15.2 in Windows 7 Klyachko, Alexander Vitalievich
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers
Re: Building Epics base 3.15.2 in Windows 7 Klyachko, Alexander Vitalievich
RE: Building Epics base 3.15.2 in Windows 7 Mark S. Engbretson
Re: Building Epics base 3.15.2 in Windows 7 Klyachko, Alexander Vitalievich
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers
RE: Building Epics base 3.15.2 in Windows 7 Mark Rivers

Navigate by Date:
Prev: Re: Building Epics base 3.15.2 in Windows 7 Pete Jemian
Next: Re: Building Epics base 3.15.2 in Windows 7 Pete Jemian
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: Building Epics base 3.15.2 in Windows 7 Mark Rivers
Next: Re: Building Epics base 3.15.2 in Windows 7 Klyachko, Alexander Vitalievich
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 ·