Inline definition problem in current
swhetzel at gmail.com
Tue Mar 24 08:43:04 PDT 2009
On Mon, Mar 23, 2009 at 10:05 PM, Ben Kelly <ben at wanderview.com> wrote:
> 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:
> It seems like they might be related.
> Hope that helps.
I can confirm that reverting this change allows the audio/faad port to build.
More information about the freebsd-current