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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: EPICS Base 3.14.12.2-rc1 available for testing |
From: | "Mark Rivers" <[email protected]> |
To: | "Andrew Johnson" <[email protected]>, "EPICS tech-talk" <[email protected]> |
Date: | Tue, 29 Nov 2011 12:24:46 -0600 |
Andrew, I just tried to build 3.14.12.2 on win32-x86 using Visual Studio 2008. It
failed with these errors: cl /nologo /EHsc /GR
-c
/nologo /D__STDC__=0 /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /Ox/GL /W3
/w44355 /D_WIN32_WINNT=0x0503 /MT
-DEPICS_DLL_NO /TP - Com\\macLib -I..\\..\\..\\src\\libCom\\misc
-I..\\..\\..\\src\\libCom\\osi -I..\\..\\..\\src\\libCom\\taskwd -I..\\..\\..\\src\\libCom\\timer
-I..\\..\\..\\src\\libCom\\tsDefs -I..\\..\\..\\include\\os\\WIN32
-I..\\..\\..\\include ..\\..\\..\\src\\libCom\\osi\\os\\WIN32\\osdTime.cpp osdTime.cpp ..\..\..\src\libCom\osi\os\WIN32\osdTime.cpp(352) : error C2065:
'MINLONGLONG' : undeclared identifier ..\..\..\src\libCom\osi\os\WIN32\osdTime.cpp(430) : error C2065:
'MINLONGLONG' : undeclared identifier ..\..\..\src\libCom\osi\os\WIN32\osdTime.cpp(479) : error C2065:
'MINLONGLONG' : undeclared identifier make[3]: *** [osdTime.obj] Error 2 make[3]: Leaving directory
`H:/epics/base-3.14.12.2-rc1/src/libCom/O.win32-x86' make[2]: *** [install.win32-x86] Error 2 make[2]: Leaving directory `H:/epics/base-3.14.12.2-rc1/src/libCom' make[1]: *** [libCom.install] Error 2 make[1]: Leaving directory `H:/epics/base-3.14.12.2-rc1/src' make: *** [src.install] Error 2 I was able to fix the error with this change: corvette:osi/os/WIN32>diff -u osdTime.cpp.orig osdTime.cpp --- osdTime.cpp.orig 2011-11-29 11:40:13.304344427
-0600 +++ osdTime.cpp 2011-11-29 11:41:19.705649538 -0600 @@ -60,6 +60,8 @@ // for mingw #if !defined ( MAXLONGLONG ) #define MAXLONGLONG LL_CONSTANT(0x7fffffffffffffff) +#endif +#if !defined ( MINLONGLONG ) #define MINLONGLONG LL_CONSTANT(~0x7fffffffffffffff) #endif It appears that MAXLONGLONG was defined but MINLONGLONG was not, so the
conditional was failing to define MINLONGLONG. By breaking it into 2
conditionals it fixed the problem. I’ve attached the new version of
the file. It also generated this warning, which does not look good: cl
-c
/nologo /D__STDC__=0 /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /Ox /GL /W3 /w44355
/D_WIN32_WINNT=0x0503 /MT -DEPICS_DLL_NO - osdMutex.c ..\..\..\src\libCom\osi\os\WIN32\osdMutex.c(41) : warning C4005:
'_WIN32_WINNT' : macro redefinition command-line arguments
: see previous definition of '_WIN32_WINNT' With the above fix I was able to build for the following archs: cygwin-x86 linux-x86 linux-x86_64 vxWorks-68040 vxWorks-ppc603_long vxWorks-ppc604_long win32-x86 windows-x64 Cheers, Mark -----Original Message----- The first release candidate for the 3.14.12.2 version of Base is now
available on the website for general testing. Links to the tarfile and
Release Notes can be found at http://www.aps.anl.gov/epics/base/R3-14/12.php Please report any problems you find to tech-talk. If no major
issues are discovered before December 12th we will release 3.14.12.2 on that date. Thanks to everyone who has helped with this process. - Andrew -- Optimization is the process of taking something that works and replacing it with something that almost works, but costs less. -- Roger Needham |
Attachment:
osdTime.cpp
Description: osdTime.cpp