Hi Dirk,
Trying to build EPICS 7 in windows-x64 fails with:
I have built base 7.0.2 with Visual Studio 2010, 2017, and 2017.
I am using Windows 10 cmd.exe, Visual Studio 2017 cl, cygwin make and cygwin perl.
I think that is your problem. cygwin make is not supported for building with Visual Studio. See this page:
https://epics.anl.gov/base/win32.php
which says:
"We no longer support using the Cygwin tools for Microsoft API builds, use versions of Perl and GNUmake that directly support the Microsoft API instead. See below for Cygwin builds."
That page has a link to version of GNUMake 4.2.1 which I have been using with no problems.
Mark
________________________________
From: [email protected] <[email protected]> on behalf of Dirk Zimoch via Tech-talk <[email protected]>
Sent: Friday, December 21, 2018 5:10 AM
To: Gofron, Kazimierz; EPICS
Subject: Re: Stream fails on windows-x64 against base-7.0.2
Hello Kaz,
I had put some effort into making StreamDevice 2.8 compatible with
Windows dynamic linking, which was a pain in the ass. I had tested
everything with 3.16.1 and got no errors, only some strange warnings.
I have now again tested StreamDevice 2.8.8 with several versions of
EPICS base. Here are my results:
R3.14.12.7: Success
R3.15.5: Success
R3.15.6: Success
R3.16.1: Success
R3.16.2: Success
R7.0.1.1: cannot build base
R7.0.2: cannot build base
Trying to build EPICS 7 in windows-x64 fails with:
D:\user\zimoch\base-7.0.2\bin\windows-x64\e_flex.exe: can't open
skeleton file /cygdrive/d/user/zimoch/base-7.0.2/include/flex.skel.static
Installing PERL_MODULES file
/cygdrive/d/user/zimoch/base-7.0.2/lib/perl/EPICS/macLib.pm
make[4]: *** No rule to make target 'asLib_lex.c', needed by 'asLib.c'.
Stop.
make[4]: Leaving directory
'/cygdrive/d/user/zimoch/base-7.0.2/modules/libcom/src/O.windows-x64'
make[3]: ***
[/cygdrive/d/user/zimoch/base-7.0.2/configure/RULES_ARCHS:58:
install.windows-x64] Error 2
make[3]: Leaving directory
'/cygdrive/d/user/zimoch/base-7.0.2/modules/libcom/src'
make[2]: ***
[/cygdrive/d/user/zimoch/base-7.0.2/configure/RULES_DIRS:84:
src.install] Error 2
make[2]: Leaving directory
'/cygdrive/d/user/zimoch/base-7.0.2/modules/libcom'
make[1]: *** [../configure/RULES_DIRS:84: libcom.install] Error 2
make[1]: Leaving directory '/cygdrive/d/user/zimoch/base-7.0.2/modules'
make: *** [configure/RULES_DIRS:84: modules.install] Error 2
The same with 7.0.1.1. No idea what's wrong now. Building EPICS 3.16 was
no problem at all.
I am using Windows 10 cmd.exe, Visual Studio 2017 cl, cygwin make and
cygwin perl.
D:\user\zimoch\base-7.0.1.1>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
D:\user\zimoch\base-7.0.1.1>make -v
GNU Make 4.2.1
Built for i686-pc-cygwin
Copyright (C) 1988-2016 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.
D:\user\zimoch\base-7.0.1.1>perl -v
This is perl 5, version 22, subversion 2 (v5.22.2) built for
cygwin-thread-multi-64int
Copyright 1987-2015, Larry Wall
Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
Dirk
On 20.12.2018 20:37, Gofron, Kazimierz via Tech-talk wrote:
I am using:
Windows 10 Pro
Visual Studio 2010 Professional
|Make 4.||2.||1 (from the EPICS web site)|
|Strawberry perl ||(v5.28.1.1)|
This issue is similar to:
https://github.com/epics-modules/softGlue/issues/1
and
https://github.com/epics-modules/sscan/issues/3
link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref
-release -MACHINE:X64 -out:stream.dll -implib:stream.lib
DebugInterface.obj DummyInterface.obj AsynDriverInterface.obj
EnumConverter.obj BCDConverter.obj RawConverter.obj
RawFloatConverter.obj BinaryConverter.obj ChecksumConverter.obj
MantissaExponentConverter.obj TimestampConverter.obj devaoStream.obj
devaiStream.obj devboStream.obj devbiStream.obj devmbboStream.obj
devmbbiStream.obj devmbboDirectStream.obj devmbbiDirectStream.obj
devlongoutStream.obj devlonginStream.obj devstringoutStream.obj
devstringinStream.obj devwaveformStream.obj devcalcoutStream.obj
devaaiStream.obj devaaoStream.obj devscalcoutStream.obj
StreamVersion.obj StreamBuffer.obj StreamError.obj StreamProtocol.obj
StreamFormatConverter.obj StreamCore.obj StreamBusInterface.obj
StreamEpics.obj c:/epics/support/asyn/lib/windows-x64/asyn.lib
c:/epics/base-7.0.2/lib/windows-x64/dbRecStd.lib
c:/epics/base-7.0.2/lib/windows-x64/dbCore.lib
c:/epics/base-7.0.2/lib/windows-x64/ca.lib
c:/epics/base-7.0.2/lib/windows-x64/Com.lib
Creating library stream.lib and object stream.exp
devaoStream.obj : error LNK2001: unresolved external symbol interruptAccept
devwaveformStream.obj : error LNK2001: unresolved external symbol
pamapdbfType
StreamEpics.obj : error LNK2001: unresolved external symbol pdbbase
stream.dll : fatal error LNK1120: 3 unresolved externals
make[3]: *** [c:/epics/base-7.0.2/configure/RULES_BUILD:292: stream.dll]
Error 1120
make[3]: Leaving directory
'C:/epics/support/stream/StreamDevice/src/O.windows-x64'
make[2]: *** [c:/epics/base-7.0.2/configure/RULES_ARCHS:58:
install.windows-x64] Error 2
make[2]: Leaving directory 'C:/epics/support/stream/StreamDevice/src'
make[1]: *** [c:/epics/base-7.0.2/configure/RULES_DIRS:84: src.install]
Error 2
make[1]: Leaving directory 'C:/epics/support/stream/StreamDevice'
make: *** [configure/RULES_DIRS:88: StreamDevice.install] Error 2
Kaz