Andrew and Kaz,
I successfully built EPICS base 3.14.12-rc1 and all of
synApps using an older version of Cygwin make (before they discontinued support
for Windows path names). The rest of Cygwin was 1.7.7. I built them
with that Cygwin make for both the win32-x86 and cygwin-x86 architectures on
Windows XP 32-bit.
Mark
From: Kazimierz Gofron
[mailto:[email protected]]
Sent: Tuesday, December 07, 2010
11:12 AM
To: Andrew Johnson
Cc: Mark Rivers
Subject: Re: Base-3.14.12 (win32)
on win 7 64 bit system compilation
The process worked up to base-3-14-11 (inclusive), and does not work in
newest base 3.14.12...
Something must have changed.
----- Original Message -----
From: Andrew Johnson <[email protected]>
Date: Tuesday, December 7, 2010 11:04 am
Subject: Re: Base-3.14.12 (win32) on win 7 64 bit system compilation
To: Kazimierz Gofron <[email protected]>
Cc: EPICS tech-talk <[email protected]>
> Hi Kaz,
>
> I'm cross-posting this reply to tech-talk as it seems to be a
> common issue.
>
> On Tuesday 07 December 2010 10:13:23 Kazimierz Gofron wrote:
> > cl -
> c -
> DDEFAULT_SKELETON_FILE=include/flex.skel.static /nologo
> > /D__ STDC__=0 /D_CRT_SECURE_NO_DEPRECATE
> /D_CRT_NONSTDC_NO_DEPRECATE /Ox
> > /GL /W1 /MD -I. -
> I..\\O.Common -I. -I..
> > -I..\\..\\..\\..\\include\\os\\WIN32 -
> I..\\..\\..\\..\\include
> > ..\\tblcmp.c
> > tblcmp.c
> > perl -MExtUtils::Command -e rm_f parse.c y.tab.c
> > perl -MExtUtils::Command -e rm_f parse.h y.tab.h
> > ..\\..\\..\\..\\bin\\win32-x86\\antelope.exe -l -d ../parse.y
> > make[4]: *** [parse.c] Error 127
> > make[4]: Leaving directory
> > `/cygdrive/c/epics/base-3.14.12/src/toolsComm/flex/O. win32-x86'
> > make[3]: *** [install.win32-x86] Error 2
> > make[3]: Leaving directory
>
> Note that this is the first time the build tries to actually run
> a C program
> (antelope.exe) that it has just compiled. GNUmake isn't
> able to execute the
> antelope command line.
>
> This has nothing to do with the fact that you're using Windows 7
> or a 64-bit
> system. The problem is that you're using the Cygwin
> version of make to build
> a non-Cygwin target (win32-x86). While it might be
> possible to do this it's
> hard to do and very confusing to work with, since the Windows
> tools don't
> understand /cygdrive/ paths, and I suspect your Cygwin make
> doesn't like the
> \\ parts of the command-line it's using to run antelope. I
> can't help you
> with getting this mixed tool approach to work since I've never
> done it,
> although Janet or Mark Rivers might have some experience.
>
> My recommendation to fix this is that you install a native
> Windows version of
> GNUmake such as the one that comes with the MinGW tools, and
> while you're at
> it make sure that your version of Perl is similarly Windows
> native and not
> from Cygwin (either the ActiveState or Strawberry Perl
> distributions would be
> good).
>
> Use Cygwin tools only to build cygwin-x86 targets, and Windows
> tools to build
> win32-x86 and windows-x64 targets. As far as EPICS is
> concerned, Cygwin is a
> different operating system than Windows.
>
> HTH,
>
> - Andrew
> --
> If a man is offered a fact which goes against his instincts, he will
> scrutinize it closely, and unless the evidence is overwhelming,
> he will
> refuse to believe it. If, on the other hand, he is offered
> somethingwhich affords a reason for acting in accordance to his
> instincts, he
> will accept it even on the slightest evidence. -- Bertrand
> Russell