From: "pedz (Perry Smith)" Date: 2012-07-25T09:03:41+09:00 Subject: [ruby-core:46744] [ruby-trunk - Bug #6791][Open] ext/js on/generator/generator.c fails to compile on nightly build (AIX 6.1) Issue #6791 has been reported by pedz (Perry Smith). ---------------------------------------- Bug #6791: ext/js on/generator/generator.c fails to compile on nightly build (AIX 6.1) https://bugs.ruby-lang.org/issues/6791 Author: pedz (Perry Smith) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: Version 2 nightly tarball gcc -I. -I../../../.ext/include/powerpc-aix6.1.0.0 -I/usr/work/src/snapshot/include -I/usr/work/src/snapshot/ext/json/generator -DRUBY_EXTCONF_H=\"extconf.h\" -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer- arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -ansi -std=iso9899:199409 -o generator.o -c /usr/work/src/snapshot/ext/js on/generator/generator.c In file included from /usr/include/sys/m_types.h:40:0, from /gsa/ausgsa-p9/06/ruby/bin/../lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.2/include-fixed/sys/types.h:510, from /gsa/ausgsa-p9/06/ruby/bin/../lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.2/include-fixed/string.h:74, from /usr/work/src/snapshot/include/ruby/ruby.h:51, from /usr/work/src/snapshot/include/ruby.h:33, from /usr/work/src/snapshot/ext/json/generator/../fbuffer/fbuffer.h:6, from /usr/work/src/snapshot/ext/json/generator/generator.c:1: /usr/include/sys/vm_types.h:36:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vmhandle_t' /usr/include/sys/vm_types.h:43:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vmhandle32_t' The -ansi and -std=iso9899:199409 somehow confused AIX's standards.h file. I notice that _ALL_SOURCE_ is (re)defined in config.h. It is the -ansi flag I believe that is doing the harm. Removing that gets the file to compile. Adding that in causes standards.h to *not* define _POSIX_SOURCE_ and that leads to ulong_t (and other typedefs) not being defined. AIX version is 6.1 TL07 SP03. GCC is 4.5.2 -- http://bugs.ruby-lang.org/