Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Problem building base 3.14.8.2 on Win32
From: "Douglas Pearson" <doug@sunnyhome.org>
To: "'Mark Rivers'" <rivers@cars.uchicago.edu>, <tech-talk@aps.anl.gov>
Date: Tue, 1 Aug 2006 23:14:30 -0700
Thanks so much for posting these setup scripts Mark.

I had been using a Windows cmd shell, but even switching to bash and making
sure I had equivalent variables exported I got the exact same errors as
before -- executables that wouldn't launch and/or sh.exe that wasn't found
depending on the value of MAKE_MODE.

Given that and seeing your settings I concluded there simply had to be
something wrong with my instance of Cygwin as all of the errors centered on
make and path finding.  So I deleted it completely, re-downloaded and
re-installed the latest version and re-ran the make and it worked without a
hitch.  I'll never know what the root problem was (now I'm on GNU Make 3.81
but I really don't think that's the difference) but I'm happy.

Many thanks to everyone for their help on this.  I really appreciate it as
without the help I'd have kept focusing on EPICS rather than Cygwin.

It's great to have a pain-free build at last.

Doug

-----Original Message-----
From: Mark Rivers [mailto:rivers@cars.uchicago.edu] 
Sent: Tuesday, August 01, 2006 2:30 PM
To: Douglas Pearson; tech-talk@aps.anl.gov
Subject: RE: Problem building base 3.14.8.2 on Win32

Hi Doug,
 
I am running the same configuration as you (Cygwin make 3.80 and Microsoft
Visual Studio .NET 2003) and I am not having problems.
 
I am using base 3.14.8.2 and I just did "make clean uninstall" and then
"make" at the top level in base and it built fine.

Here is a little of the output when building src/dbStatic:

..\\..\\..\\bin\\win32-x86\\e_flex.exe
-S../../../include/flex.skel.static -8 ../dbLex.l perl
../../../configure/tools/mv.pl lex.yy.c dbLex.c move lex.yy.c into dbLex.c
perl ../../../configure/tools/rm.pl -f dbYacc.c y.tab.c
..\\..\\..\\bin\\win32-x86\\antelope.exe  ../dbYacc.y perl
../../../configure/tools/mv.pl y.tab.c dbYacc.c move y.tab.c into dbYacc.c
cl -c /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /nologo
/D__STDC__=0  /Ox /GL   /W3 /w44355 /MT -DEPICS_DLL_NO   -I. -I..
-I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include  dbYacc.c

So it was able to execute e_flex and antelope with no problems.
 
I run the build from the Cygwin bash shell.  I am able to build for both the
"win32-x86" and "cygin32-x86" architectures.  
 
I execute the following script when I want to build for win32-x86:
 
$ cat /usr/local/bin/setup_epics_win32
export EPICS_HOST_ARCH=win32-x86
export VSINSTALLDIR="C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\IDE"
export VSINSTALLDIR_sh="/cygdrive/c/Program Files/Microsoft Visual Studio
.NET 2003/Common7/IDE"
export VCINSTALLDIR="C:\Program Files\Microsoft Visual Studio .NET 2003"
export VCINSTALLDIR_sh="/cygdrive/c/Program Files/Microsoft Visual Studio
.NET 2003"
export FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework
export FrameworkDir_sh=/cygdrive/c/WINDOWS/Microsoft.NET/Framework
export FrameworkVersion=v1.1.4322
export FrameworkSDKDir="c:\Program Files\Microsoft Visual Studio .NET
2003\SDK\v1.1"
export FrameworkSDKDir_sh="/cygdrive/c/Program Files/Microsoft Visual Studio
.NET 2003/SDK/v1.1"
export DevEnvDir=$VSINSTALLDIR
export DevEnvDir_sh=$VSINSTALLDIR_sh
export MSVCDir=$VCINSTALLDIR/VC7
export MSVCDir_sh=$VCINSTALLDIR_sh/VC7
export
PATH="$DevEnvDir_sh:$MSVCDir_sh/BIN:$VCINSTALLDIR/Common7/Tools:$VCINSTA
LLDIR_sh/Common7/Tools/bin/prerelease:$VCINSTALLDIR_sh/Common7/Tools/bin
:$FrameworkSDKDir_sh/bin:$FrameworkDir_sh/$FrameworkVersion:/usr/bin/:/u
sr/local/bin:/usr/X11R6/bin/:/corvette/usr/local/epics/base/bin/win32-x8
6:/corvette/usr/local/epics/extensions_devel/bin/win32-x86"
export
INCLUDE="$MSVCDir/ATLMFC/INCLUDE;$MSVCDir/INCLUDE;$MSVCDir/PlatformSDK/i
nclude/prerelease;$MSVCDir/PlatformSDK/include;$FrameworkSDKDir/include"
export
LIB="$MSVCDir/ATLMFC/LIB;$MSVCDir/LIB;$MSVCDir/PlatformSDK/lib/prereleas
e;$MSVCDir/PlatformSDK/lib;$FrameworkSDKDir/lib"
 
 
I execute the following script when I want to build for cygwin32-x86:

$ cat /usr/local/bin/setup_epics_cygwin32
export
PATH="/usr/bin/:/usr/local/bin:/usr/X11R6/bin/:/corvette/usr/local/epics
/base/bin/cygwin-x86:/corvette/usr/local/epics/extensions_devel/bin/cygw
in-x86"
export EPICS_HOST_ARCH=cygwin-x86
export HOST_ARCH=cygwin-x86

I don't know what could be different between your system and mine.
Maybe the script that defines the PATH?

Cheers,
Mark
 


________________________________

	From: Douglas Pearson [mailto:doug@sunnyhome.org] 
	Sent: Tuesday, August 01, 2006 3:29 PM
	To: tech-talk@aps.anl.gov
	Subject: RE: Problem building base 3.14.8.2 on Win32
	
	
	I got a suggestion off-list to try
	 
	set MAKE_MODE=UNIX
	 
	(thanks Janet for that!).
	 
	This produces an interesting change.  With that flag set the make
gets past this problem of launching antelope.exe.
	However it fails very shortly after with "/bin/sh.exe" not found,
like this:
	 
	make -C softIoc install
	make[2]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/softIoc'
	make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86
install
	make[3]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/softIoc/O.win32
	-x86'
	make[3]: /bin/sh.exe: Command not found
	
	 
	Cygwin does of course contain "sh.exe" and it's on the path.
Clearing the MAKE_MODE flag and issuing make again (w/o a clean) doesn't
have this problem and the make runs on until it's time to run the next
executable and it fails again.
	 
	So right now I'm setting this flag, running make, watch it fail on
sh.exe, clear the flag, run make again, watch it fail at a later point on an
executable and repeat.
	 
	I think doing this I'll eventually get to the end of the build but
I'm wondering if someone has a better solution as this is slow and painful
(and of course I can never rebuild)?
	 
	I'm using "make" from Cygwin and I assume that's the root problem
here.
	 
	E:\epics\base-3.14.8.2>make -version
	GNU Make 3.80
	Copyright (C) 2002  Free Software Foundation, Inc.
	
	 
	Should I be using a different make or running it inside a bash shell
or something else?
	 
	Thanks a lot for everyone's help so far.  I think we're getting
close here.
	 
	Doug
	
________________________________

	From: Douglas Pearson [mailto:biz@sunnyhome.org] 
	Sent: Tuesday, August 01, 2006 12:16 AM
	To: tech-talk@aps.anl.gov
	Subject: RE: Problem building base 3.14.8.2 on Win32
	
	
	Thanks Tanyshyam for the quick reply, but unfortunately I've already
applied the fix to RULES_BUILD.  Without that the build fails at the point
of copying the executables.
	 
	With that fix the executables are copied and the make runs on for a
while but then it fails when it tries to execute antelope.exe.
	 
	I'll also attach more of the trace to give some more context to
where the build is failing (doing a "make clean uninstall" and then "make"
fails at the same point but with just a lot more compilation steps
happening).
	 
	Thanks,
	 
	Doug
	 
	E:\epics\base-3.14.8.2>make
	make -C configure install
	make[1]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/configure'
	make -C O.win32-x86 -f ../Makefile TOP=../.. T_A=win32-x86 install
	make[2]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/configure/O.win32-x
	86'
	make[2]: Nothing to be done for `install'.
	make[2]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/configure/O.win32-x8
	6'
	make[1]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/configure'
	make -C src install
	make[1]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src'
	make -C makeBaseApp install
	make[2]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseApp'
	make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86
install
	make[3]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseApp/O.w
	in32-x86'
	make[3]: Nothing to be done for `install'.
	make[3]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseApp/O.wi
	n32-x86'
	make[2]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseApp'
	make -C makeBaseExt install
	make[2]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseExt'
	make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86
install
	make[3]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseExt/O.w
	in32-x86'
	make[3]: Nothing to be done for `install'.
	make[3]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseExt/O.wi
	n32-x86'
	make[2]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/makeBaseExt'
	make -C libCom install
	make[2]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/libCom'
	make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86
install
	make[3]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/libCom/O.win32-
	x86'
	make[3]: Nothing to be done for `install'.
	make[3]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/libCom/O.win32-x
	86'
	make[2]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/libCom'
	make -C toolsComm install
	make[2]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm'
	make -C antelope install
	make[3]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/antel
	ope'
	make -C O.win32-x86 -f ../Makefile TOP=../../../.. T_A=win32-x86
install
	make[4]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/antel
	ope/O.win32-x86'
	make[4]: Nothing to be done for `install'.
	make[4]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/antelo
	pe/O.win32-x86'
	make[3]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/antelo
	pe'
	make -C flex install
	make[3]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/flex'
	 
	make -C O.win32-x86 -f ../Makefile TOP=../../../.. T_A=win32-x86
install
	make[4]: Entering directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/flex/
	O.win32-x86'
	perl ../../../../configure/tools/rm.pl -f parse.c y.tab.c
	perl ../../../../configure/tools/rm.pl -f parse.h y.tab.h
	..\\..\\..\\..\\bin\\win32-x86\\antelope.exe -l -d ../parse.y
	make[4]: ..\\..\\..\\..\\bin\\win32-x86\\antelope.exe: Command not
found
	make[4]: *** [parse.c] Error 127
	make[4]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/flex/O
	.win32-x86'
	make[3]: *** [install.win32-x86] Error 2
	make[3]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/flex'
	make[2]: *** [flex.install] Error 2
	make[2]: Leaving directory
`/cygdrive/e/epics/base-3.14.8.2/src/toolsComm'
	make[1]: *** [toolsComm.install] Error 2
	make[1]: Leaving directory `/cygdrive/e/epics/base-3.14.8.2/src'
	make: *** [src.install] Error 2
	 
	
	 
________________________________

	From: btanu@veccal.ernet.in [mailto:btanu@veccal.ernet.in] 
	Sent: Monday, July 31, 2006 11:34 PM
	To: Douglas Pearson
	Cc: tech-talk@aps.anl.gov
	Subject: Re: Problem building base 3.14.8.2 on Win32
	
	

	Hi,

	during build it copies exe and required dll and obj in bin  as well
as O.win32-x86 directory...i think

	you have to modify some files in configure to do it correctly under
windows as follows

	1.base-3.14.8.2\configure\RULES_BUILD

	line no 330

	ifdef WIN32

	ifdef BORLAND

	@$(INSTALL_PRODUCT) -d -m 555 $<* $(INSTALL_BIN)

	else

	@$(INSTALL_PRODUCT) -d -m 555 $< $(INSTALL_BIN)

	endif

	endif

	2.base-3.14.8.2\configure\os\CONFIG_SITE.win32-x86.win32-x86 to
select proper compiler

	you may encounter some other problem in makeBaseApp.pl.but clear it
first

	thnaks

	 tanushyam
	
	**************************************************** 
	TANUSHYAM BHATTACHARJEE 
	SCIENTIFIC OFFICER 
	VARIABLE ENERGY CYCLOTRON CENTRE 
	1/AF BIDHANNAGAR ,SALTLAKE ,KOLKATA-64 
	email:btanu@veccal.ernet.in 
	Phone #23371230/31/32/33/34 Extn: 2304 
	Fax: 91 33 3346871 
	****************************************************
	
	

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

		From: Douglas Pearson <biz@sunnyhome.org> 

		Date: Tuesday, August 1, 2006 6:14 am 

		Subject: Problem building base 3.14.8.2 on Win32 

			> I'm trying out EPICS for the first time and trying
to build it on 
	> Windows.After seeing the posts about Visual Studio 8 (2005), I've 
	> switched to using 
	> Visual Studio 7 (.NET 2003) and made the change to 
	> configure/RULES_BUILD as 
	> described in the known issues. 
	> 
	> With that I've got everything to build and com.dll even installs 
	> itself now. 
	> 
	> However, the next error I'm getting is: 
	> 
	> ..\\..\\..\\..\\bin\\win32-x86\\antelope.exe -l -d ../parse.y 
	> make[4]: ..\\..\\..\\..\\bin\\win32-x86\\antelope.exe: Command not

	> foundmake[4]: *** [parse.c] Error 127 
	> make[4]: Leaving directory 
	> `/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/flex/O 
	> .win32-x86' 
	> make[3]: *** [install.win32-x86] Error 2 
	> make[3]: Leaving directory 
	> `/cygdrive/e/epics/base-3.14.8.2/src/toolsComm/flex' 
	> 
	> 
	> The odd thing i! s that an 



References:
RE: Problem building base 3.14.8.2 on Win32 Mark Rivers

Navigate by Date:
Prev: RE: Problem building base 3.14.8.2 on Win32 Mark Rivers
Next: Deadlock when using asyn? Rees, NP (Nick)
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: Problem building base 3.14.8.2 on Win32 Mark Rivers
Next: Deadlock when using asyn? Rees, NP (Nick)
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·