Date: Mon, 23 Mar 2009 23:05:35 -0400 From: Ben Kelly <ben@wanderview.com> To: Gustau Perez <gperez@entel.upc.edu> Cc: freebsd-current@freebsd.org Subject: Re: Inline definition problem in current Message-ID: <D7A9B95D-AD8D-4F2A-B077-E48E9296EAEB@wanderview.com> In-Reply-To: <49C80DBA.80407@entel.upc.edu> References: <49C80DBA.80407@entel.upc.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 23, 2009, at 6:31 PM, Gustau Perez wrote: > a few time ago I switched to current, right now I've it updated to > yesterday. While compiling some ports (in fact, building x11/ > gnome2) I found that some of them (written in C) are using some > inline functions (I guess it is because the compiler will replace > the call to the function with the function itself). The problem is > that gcc fails with the following message : > error: nested function 'XXX' declared but never defined > > checking the code, the function is declared and then implemented in > a header file which is included in the offending .c file. The > function is declared as 'inline'. The only solution I found is to > change the definition to static. > > Checking pontyhat shows me that many ports are failing because of > this problem. What I can understand is why is this happening, > because the same ports compiles fine in STABLE and the compilers's > version in base seems to be the same (gcc (GCC) 4.2.1 20070719 > [FreeBSD], the same in current) > Can anyone help with this problem ? Check out the arch@ discussion about "C99 Inlines" and this commit: http://svn.freebsd.org/viewvc/base?view=revision&revision=189824 It seems like they might be related. Hope that helps. - Ben
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D7A9B95D-AD8D-4F2A-B077-E48E9296EAEB>