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  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 
<== Date ==> <== Thread ==>

Subject: vxWorks 6.9 stdio.h error
From: "Kasemir, Kay via Tech-talk" <tech-talk@aps.anl.gov>
To: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Fri, 28 Sep 2018 19:48:46 +0000
Hello:

I'm trying to compile EPICS base for VxWorks 6.9, and I see the same error that was reported in this tech talk message, https://epics.anl.gov/tech-talk/2014/msg01078.php :

------------
.. cross-compiler when compiling epicsEvent.cpp.
The error messages appear to be internal conflicts in the vxWorks stdio.h file.
 C:/WindRiver/vxworks-6.9/target/h/stdio.h:318: error: declaration of C function 'int oprintf(int (*)(...), _Vx_usr_arg_t, const char*, ...)'
 conflicts with
 C:/WindRiver/vxworks-6.9/target/h/stdio.h:206: error: previous declaration 'int oprintf(int (*)(char*, size_t, _Vx_usr_arg_t), _Vx_usr_arg_t, const char*, ...)' 
-------------

Back then it was reported for compiling on a Windows host, I'm now using Linux.
Back then it was with base-3-14-12-4, I'm now seeing the error with R3.14.12.7.
Otherwise it's the same vxworks-6.9/target/h/stdio.h problem:

.../src/libCom/osi/epicsEvent.cpp 
In file included from ../../../src/libCom/osi/epicsStdio.h:15,
                 from ../../../src/libCom/osi/epicsStdioRedirect.h:19,
                 from ../../../src/libCom/osi/epicsEvent.cpp:19:
/ade/vxWorks/6.9/WindRiver/vxworks-6.9/target/h/stdio.h:318: error: declaration of C function 'int oprintf(int (*)(...), _Vx_usr_arg_t, const char*, ...)' conflicts with
/ade/vxWorks/6.9/WindRiver/vxworks-6.9/target/h/stdio.h:206: error: previous declaration 'int oprintf(int (*)(char*, size_t, _Vx_usr_arg_t), _Vx_usr_arg_t, const char*, ...)' here


The declarations seem to differ in using (...) vs. a more specific (list, of, arguments).

Back then there was a tech-talk follow up, https://epics.anl.gov/tech-talk/2014/msg01090.php:

-------------
I made a couple of changes in the 'stdio.h' file in WindRiver installation.
-------------

I, too, can simply edit the vxworks-6.9/target/h/stdio.h to remove the bothersome code around line 318, in fact I did.
But that doesn't seem to be the best solution.

Is anybody compiling EPICS base with vxworks-6.9?
Was there a WindRiver update to stdio.h that fixes the problem?
Some compiler flags to make it handle this?

Thanks,
Kay

Replies:
Re: vxWorks 6.9 stdio.h error Johnson, Andrew N.

Navigate by Date:
Prev: Brooks On-Board Cryopump Modules Davis, Mark
Next: Re: vxWorks 6.9 stdio.h error Johnson, Andrew N.
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 
Navigate by Thread:
Prev: Brooks On-Board Cryopump Modules Davis, Mark
Next: Re: vxWorks 6.9 stdio.h error Johnson, Andrew N.
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 
ANJ, 28 Sep 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·