Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: RE: error building mca6-11
From: "Mark Rivers" <rivers@cars.uchicago.edu>
To: "Bruce Hill" <bhill@slac.stanford.edu>, <marco_hair@163.com>
Cc: tech-talk <tech-talk@aps.anl.gov>
Date: Sat, 21 Nov 2009 18:37:32 -0600
I just double-checked my system and I realized actually ran into the same problem with libnet 1.1.2.1-11 a couple of years ago.  I fixed it by simply removing the "inline" keyword from that line in libnet-functions.h.
 
I looked at a more recent version of libnet (1.1.4-3) and the inline keyword is not present in that version of libnet-functions.h
 
Mark
 

________________________________

From: tech-talk-bounces@aps.anl.gov on behalf of Bruce Hill
Sent: Fri 11/20/2009 8:51 PM
To: marco_hair@163.com
Cc: tech-talk
Subject: Re: error building mca6-11


I had a similar problem where I needed to compile some code
I was sharing with a non-epics app and I needed to compile it
without -ansi.

Turning it off in epics base config files is asking for trouble as it
will affect all compiles of base, modules, IOC's, etc.

Since -ansi is selecting the language standard, you can't just turn it off
with a compile flag.   Instead, you have to select a different language
standard.    The default gnu std for c files is gnu89, but others are
available as well, such as c89, c99, gnu99, etc.    See the gcc man page
for details.

For my directory that had this problem, I added the following line in that
directory's Makefile after including $(TOP)/configure/CONFIG.

   USR_CFLAGS      +=  -std=gnu99

- Bruce Hill

Silver wrote: 

	hi,  Michael:
	
	    so how to solve it? close the ansi switch in epics base's configure files? will it influence the base? 
	
	======= At 2009-11-20, 22:41:31 you wrote: =======
	
	  

		This is an '-ansi' problem.
		
		On my Debian system (libnet 1.1.2.1-2) line 1432 of libnet-functions.h
		looks like
		
		    

			inline u_int32_t
			      

		The 'inline' keyword isn't part of ANSI C89 and can't be used when
		compiling with '-ansi', which EPICS Base does by default.
		
		Michael Davidsaver
		NSLSII Controls Group
		Brookhaven National Lab
		
		
		    

			-----Original Message-----
			From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-
			bounces@aps.anl.gov] On Behalf Of Silver
			Sent: Friday, November 20, 2009 12:28 AM
			To: tech-talk
			Subject: error building mca6-11
			
			hi,
			
			when I tried to compile the mcaR6-11/10, I met following errors:
			
			/usr/bin/gcc-4.2 -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -
			D_XOPEN_SOURCE=500           -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux  -
			D_REENTRANT -ansi   -O3   -Wall     -g `libnet-config --defines`
			      

		-m32
		    

			-g -fPIC -I. -I../O.Common -I. -I.. -I../../../include/os/Linux -
			I../../../include  -I/usr/local/epics/r3.14.10/modules/soft/seq/2-0-
			12/include
			      

		-I/usr/local/epics/r3.14.10/modules/soft/calc/2-6-7/include
		    

			-I/usr/local/epics/r3.14.10/modules/soft/sscan/2-6-5/include  -
			I/usr/local/epics/r3.14.10/modules/soft/busy/1-1/include  -
			I/usr/local/epics/r3.14.10/modules/soft/std/2-6/include    -
			I/usr/local/epics/r3.14.10/modules/soft/asyn/4-12/include -
			I/usr/local/epics/r3.14.10/modules/soft/mca/6-11/include/os/Linux -
			I/usr/local/epics/r3.14.10/modules/soft/mca/6-11/include -
			I/usr/local/epics/r3.14.10/base/include/os/Linux -
			I/usr/local/epics/r3.14.10/base/include        ../nmc_comm_subs_1.c
			In file included from /usr/include/libnet.h:124,
			                 from ../nmc_sys_defs.h:56,
			                 from ../nmc_comm_subs_1.c:69:
			/usr/include/./libnet/libnet-functions.h:1432: error: expected '=',
			',', ';', 'asm' or '__attribute__' before 'u_int32_t'
			make[3]: *** [nmc_comm_subs_1.o] Error 1
			make[3]: Leaving directory
			`/usr/local/epics/r3.14.10/modules/soft/mca/6-
			11/mcaApp/CanberraSrc/O.linux-x86'
			make[2]: *** [install.linux-x86] Error 2
			make[2]: Leaving directory
			`/usr/local/epics/r3.14.10/modules/soft/mca/6-11/mcaApp/CanberraSrc'
			make[1]: *** [CanberraSrc.install] Error 2
			make[1]: Leaving directory
			`/usr/local/epics/r3.14.10/modules/soft/mca/6-11/mcaApp'
			make: *** [mcaApp.install] Error 2
			root@cow1:/usr/local/epics/r3.14.10/modules/soft/mca/6-11#
			Any suggestion?  thanks a lot.
			ps, I use ubuntu, libnet1 with apt-get install ,not from source
			compilation.
			
			Best regards
			Geyang  2009-11-20
			
			      

	= = = = = = = = = = = = = = = = = = = =
				
	
	Best regards				 
	Geyang 2009-11-21
	
	
	  


-- 
Bruce Hill
Member Technical Staff
SLAC National Accelerator Lab
2575 Sand Hill Road M/S 94
Menlo Park, CA  94025


Replies:
Re: RE: error building mca6-11 Silver
References:
error building mca6-11 Silver
RE: error building mca6-11 Davidsaver, Michael
Re: RE: error building mca6-11 Silver
Re: error building mca6-11 Bruce Hill

Navigate by Date:
Prev: RE: RE: RE: error building mca6-11 Mark Rivers
Next: Fwd: CA link behavior Geoff Savage
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017 
Navigate by Thread:
Prev: Re: error building mca6-11 Bruce Hill
Next: Re: RE: error building mca6-11 Silver
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·