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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: error building mca6-11 |
From: | Bruce Hill <[email protected]> |
To: | [email protected] |
Cc: | tech-talk <[email protected]> |
Date: | Fri, 20 Nov 2009 18:51:31 -0800 |
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 likeinline u_int32_tThe '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: [email protected] [mailto:tech-talk- [email protected]] 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 |