EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  <19971998  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  <19971998  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: Compiling with vprintf
From: Jeff Hill <[email protected]>
To: "Glover D. Barker" <[email protected]>
Cc: [email protected]
Date: Tue, 11 Feb 1997 17:47:07 -0700
Glover D. Barker wrote:
> 
> I'm trying to build the EPICS 3.12.2 Channel Access Client on Sun4, and I'm
> having a problem I hope someone can help me with.
> 
> When I compile access.c, I get the following error message on line 3474:
> 
>         'vprintf' undeclared (first use in this function)
> 
> Line 3474 actually accesses epicsVprintf, which is #define'd to vprintf in
> epicsPrint.h.  The problem appears to be the assignment statement that
> treats vprintf (a Unix function) as a function pointer.  

I think that the problem here is that there is no function prototype
for the ANSI C function "vprintf()" in scope. This is not surprising
since 
sunos4 does not supply one in "/usr/include".

I suspect one of the following:
o the gcc flag "nostdinc" is in use
o You have a "-I" in use that is causing the header files
	to be obtained from "/usr/include" instead of from
	the normal gcc places.
o the gcc install copies the sunos4 header files and adds
	ANSI C changes to its private copy (perhaps the
	install didnt complete correctly)
o perhaps this results from not installing "libiberty"
	(the gnu ANSI C library) on sunos4

EPICS 3.13 is frequently compiled with gcc 2.7.2. I just finished 
comparing 3.12.2 and 3.13 and they both have the same code
"ca_printf_func = epicsVprintf" in "ca_printf" (and 
"#define epicsVprintf vprintf" in "epicsPrint.h").

I know of no reason why we shouldnt be able to take the address of
the function vprintf() in the ANSI C RTL (if a prototype is in scope).

As I recall minor changes were made to the config files in
3.13 before it would compile EPICS with gcc. Perhaps you will
find it easier to switch to EPICS 3.13 beta (if you need to use
gcc instead of sun's acc).

Jeff


-- 
______________________________________________________________________
Jeffrey O. Hill                 Internet        [email protected]
LANL MS H820                    Voice           505 665 1831
Los Alamos, NM 87545 USA        FAX             505 665 5107


References:
Compiling with vprintf Glover D. Barker

Navigate by Date:
Prev: Status report on EPICS base 3.13 Marty Kraimer
Next: JTAG Renaud BARILLERE
Index: 1994  1995  1996  <19971998  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: Compiling with vprintf Glover D. Barker
Next: Status report on EPICS base 3.13 Marty Kraimer
Index: 1994  1995  1996  <19971998  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·