On Wed, Oct 5, 2016 at 12:51 PM, Dennis Clarke <dcla...@blastwave.org> wrote:
> > Not sure where the definition of "offsetof()" is located but something >>> seems clearly not C compliant here. >>> >>> So this is using the Oracle Studio 12.5 compiler tools on a big old >>> SPARC box running Solaris 10. Any input would be appreciated. The cflags >>> were permissive and allowed for transition type elements as I note that >>> C99 with strict compliance will fail horribly. The configure stage was >>> reasonably clean also. >>> >>> In any case .. any input would be greatly appreciated. >>> >> >> offsetof() is supposed to be declared in <stddef.h>[1]. Perhaps it >> would need a typedef for your system? >> > > hrmmm ... I don't think that is the issue here. Definately have that > header and this is a POSIX compliant system for sure. In fact, from my > $HOME/.profile : > > pretty sure I can carve that back to just items 1 to 6 above and use C99 > compiler /opt/developerstudio12.5/bin/c99 and cflags options -Xc to be > really really strict. > > I think the error message is about the use of the "struct" keyword there. > > [1] <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ >> stddef.h.html> >> > > yep .. know it well. > > I may just have to change the sources a wee bit and see what happens here. > Maybe this is a GCC GNUism that snuck in. Commit 2181ed2 <https://github.com/php/php-src/commit/2181ed2e2ab0c137d843e2ebea1d7d92e7d9b759#diff-8f841b91bdb2e623187010251ec474ba> introduced the change, and I note that <stddef.h> is config guarded by ifdef HAVE_STDDEF_H. So, perhaps check your configured values to see if that header is detected properly.