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  2015  2016  2017  <20182019  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  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Stream fails on windows-x64 against base-7.0.2
From: Mark Rivers via Tech-talk <[email protected]>
To: 'Dirk Zimoch' <[email protected]>, "Gofron, Kazimierz" <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Fri, 21 Dec 2018 14:09:47 +0000

> Now using the mingw make instead of the cygwin make, I have successfully built EPICS base 7.0.2 and StreamDevice 2.2.8. No problem!

 

I have a question about Git.  I have a fork of your StreamDevice repository on Github.  Yesterday I did a pull request to update my fork with the latest master branch of your repository.  It seemed to work, lots of files were updated.  When I look at the differences between our repositories on Github it says I am up to date, as shown below.  However, when I look at the Releases in your repository it goes up to 2.8.8, while in my fork it only goes up to stream_2_7_7 from 2016.  What am I doing wrong?

 

Thanks,

Mark

 

 

 

-----Original Message-----
From: Dirk Zimoch <[email protected]>
Sent: Friday, December 21, 2018 7:49 AM
To: Mark Rivers <[email protected]>; Gofron, Kazimierz <[email protected]>
Cc: [email protected]
Subject: Re: Stream fails on windows-x64 against base-7.0.2

 

Now using the mingw make instead of the cygwin make, I have successfully built EPICS base 7.0.2 and StreamDevice 2.2.8. No problem!

 

Kaz,

 

Have you upgraded from StreamDevice 2.7 to 2.8. If yes, are you sure you have cleaned up properly before rebuilding? Make sure all old 2.7 *.dll, *.h, *.dbd files are gone. 'make distclean' should do the job.

 

My linker line looks like this:

 

link -nologo -subsystem:windows -dll -debug -incremental:no -fixed:no

-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 devaaiStream.obj devaaoStream.obj devcalcoutStream.obj devlsiStream.obj devlsoStream.obj devint64inStream.obj devint64outStream.obj StreamVersion.obj StreamBuffer.obj StreamError.obj StreamProtocol.obj StreamFormatConverter.obj StreamCore.obj StreamBusInterface.obj

StreamEpics.obj      ../../../asyn4-30/lib/windows-x64/asyn.lib

../../../base-7.0.2/lib/windows-x64/dbRecStd.lib

../../../base-7.0.2/lib/windows-x64/dbCore.lib

../../../base-7.0.2/lib/windows-x64/ca.lib

../../../base-7.0.2/lib/windows-x64/Com.lib

    Creating library stream.lib and object stream.exp StreamEpics.obj : warning LNK4049: locally defined symbol StreamDebugFile imported Installing shared library ../../../bin/windows-x64/stream.dll

Installing library ../../../lib/windows-x64/stream.lib

make[2]: Leaving directory 'D:/user/zimoch/StreamDevice/src/O.windows-x64'

make[1]: Leaving directory 'D:/user/zimoch/StreamDevice/src'

 

 

I have a warning about StreamDebugFile which I don't know how to fix.

But it works just fine.

 

 

Dirk

 

 

On 21.12.2018 13:46, Mark Rivers wrote:

> 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

>> 


Replies:
Re: Stream fails on windows-x64 against base-7.0.2 Zimoch Dirk (PSI) via Tech-talk
References:
Stream fails on windows-x64 against base-7.0.2 Gofron, Kazimierz via Tech-talk
Re: Stream fails on windows-x64 against base-7.0.2 Dirk Zimoch via Tech-talk
Re: Stream fails on windows-x64 against base-7.0.2 Mark Rivers via Tech-talk
Re: Stream fails on windows-x64 against base-7.0.2 Dirk Zimoch via Tech-talk

Navigate by Date:
Prev: Re: Stream fails on windows-x64 against base-7.0.2 Dirk Zimoch via Tech-talk
Next: Re: FW: Error compiling EPICS base-7.0.x on OpenSUSE 10.3 Peterson, Kevin M. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Stream fails on windows-x64 against base-7.0.2 Dirk Zimoch via Tech-talk
Next: Re: Stream fails on windows-x64 against base-7.0.2 Zimoch Dirk (PSI) via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 21 Dec 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·