1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 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 2015 2016 2017 <2018> 2019 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----- 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 >> |