This file was changed to fix a serious problem I mentioned on tech-talk recently. I think the fix was added to CVS before it was tested with compiling. Here is what I did to let it compile:
- pCurrentTime = new currentTime ();
- pCurrentTime->startPLL ();
+ pCurrentTime = (volatile currentTime *)new currentTime ();
+ ((currentTime *)pCurrentTime)->startPLL ();
...
- pCurrentTime->getCurrentTime ( *pDest );
+ ((currentTime *)pCurrentTime)->getCurrentTime ( *pDest );
When Andrew Johnson gets back he will see if he likes this fix, or has a better one.
Mark
________________________________
From: [email protected] on behalf of Zhichu Chen
Sent: Mon 12/1/2008 5:10 AM
To: [email protected]
Subject: New CVS compiles failed on Windows
Hi,
I checked the EPICS site today and found a new cvs version for
download. This is my environment:
==========================================================================
OS: Windows XP SP3
Compiler:
$ gcc -v
Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.3.0/configure
--enable-languages=c,ada,c++,fortran,java,objc,obj-c++
--disable-sjlj-exceptions
--enable-shared --enable-libgcj --enable-libgomp --with-dwarf2
--disable-win32-registry --enable-libstdcxx-debug --enab
le-concept-checks --enable-version-specific-runtime-libs
--build=mingw32 --with-bugurl=http://www.mingw.org/bugs.shtml -
-prefix=/mingw --with-gmp=/mingw/src/gcc/gmp-mpfr-root
--with-mpfr=/mingw/src/gcc/gmp-mpfr-root --with-libiconv-prefix=/
mingw/src/gcc/libiconv-root
Thread model: win32
gcc version 4.3.0 20080305 (alpha-testing) mingw-20080502 (GCC)
Environment: MSYS
$ echo $EPICS_HOST_ARCH
win32-x86-mingw
==========================================================================
I was told that something error in src/libCom/osi/os/WIN32/osdTime.cpp.
I'm sorry, I can't remember exactly what the error message is, it's
pretty much like
"passing `volatile currentTime' as `this' argument of
`currentTime::startPLL' discards qualifiers"
I "fixed" it by modifying line 88:
static volatile currentTime * pCurrentTime = 0;
to
static currentTime * pCurrentTime = 0;
It compiles OK and runs fine, only that there're so many lines in the
sources and I
can't be sure this would be safe. Can you tell me what is the worst
thing that would
happen?
By the way, about the file
configure/os/CONFIG_SITE.win32-x86-mingw.Common, I really think one
should take care of their $PATH environment themselves, and not all
people would install their
gcc under C:/MinGW/bin. Not only it's not cool, but those lines made
my sh confused and messed
all the $PATH environment and even cannot find "make" itself.
--
Best Regards
Chen
----------------------------------------------------------------
Zhi-chu Chen | Shanghai Synchrotron Radiation Facility
No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China
tel: 086 21 5955 3405 | zhichu.chen.googlepages.com
| www.sinap.ac.cn
----------------------------------------------------------------
- Replies:
- Re: New CVS compiles failed on Windows Zhichu Chen
- Re: New CVS compiles failed on Windows Andrew Johnson
- References:
- New CVS compiles failed on Windows Zhichu Chen
- Navigate by Date:
- Prev:
New CVS compiles failed on Windows Zhichu Chen
- Next:
Re: New CVS compiles failed on Windows Zhichu Chen
- 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
- Navigate by Thread:
- Prev:
New CVS compiles failed on Windows Zhichu Chen
- Next:
Re: New CVS compiles failed on Windows Zhichu Chen
- 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
|