EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  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  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Building EPICS base
From: Robert Soliday <[email protected]>
To: tech-talk <[email protected]>
Date: Tue, 23 Nov 2004 10:17:09 -0600

Krapec Iztok wrote:
> Hello
>
> I am trying to build EPICS base 3.14.6 and I am getting following error:
>
>
> make[3]: Entering directory
> `/home/ikrapec/epics-instal63/base-3.14.6/src/ca/O.linux-x86'
> /usr/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
> -D_XOPEN_SOURCE=500 -DOSITHREAD_USE_DEFAULT_STACK -D_X86_ -DUNIX
> -D_BSD_SOURCE -Dlinux -D_REENTRANT -ansi -O3 -Wall -I. -I..
> -I../../../include/os/Linux -I../../../include ../casw.cpp
> In file included from ../casw.cpp:31:
> ../udpiiu.h:73: error: `virtual void udpRecvThread::run()' is private
> ../udpiiu.h:183: error: within this context
> make[3]: *** [casw.o] Error 1
> make[3]: Leaving directory
> `/home/ikrapec/epics-instal63/base-3.14.6/src/ca/O.linux-x86'
> make[2]: *** [install.linux-x86] Error 2
> make[2]: Leaving directory `/home/ikrapec/epics-instal63/base-3.14.6/src/ca'
> make[1]: *** [ca.install] Error 2
> make[1]: Leaving directory `/home/ikrapec/epics-instal63/base-3.14.6/src'
> make: *** [src.install] Error 2
>
> I am using gcc version 3.4.2 and GNU Make 3.80.
>
> Does somebody know what is the problem?
>
> LP
>
> Iztok


Here is the reply Jeff Hill had after I asked the same question two weeks ago:
------------------------
This is entry 98 in Mantis. That issue is related to interpretation of the
C++ standard by the various compilers (can a member function be a friend if
it is private to the befriended class). Apparently the committee considered
this matter under defect resolution, they initially were in favor of
permitting a private member function to be a friend, but were unable to find
consensus when all of the nagging details were considered. Recent GNU
compilers are apparently aggressively enforcing the forbid decision.


A fix has been committed to CVS, and will show up in R3.14.7. A temporary
workaround is as follows.

Replace this:

friend void udpRecvThread::run ();

With this:

friend class udpRecvThread;

On line 183 in udpiiu.h.
--------------------------

If I remember correctly, this problem shows up in another file where you have to make a similar change.

--Bob



References:
Building EPICS base Krapec Iztok

Navigate by Date:
Prev: RE: Building EPICS base Jeff Hill
Next: camac hardware john sinclair
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Building EPICS base Jeff Hill
Next: camac hardware john sinclair
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  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 ·