Я почти сразу нашел ответ.
Первым делом я искал в исходном коде ruby найденную ошибку. Я обнаружил, что за это отвечает regex.h.
В regex.h поток кода выглядит примерно так:
/* Maximum number of duplicates an interval can allow. */
#ifndef RE_DUP_MAX
#define RE_DUP_MAX ((1 << 15) - 1)
#endif
Теперь проблема здесь в RE_DUP_MAX. В AIX эта же константа была определена где-то в / usr / include. Я искал это и нашел в
/usr/include/NLregexp.h
/usr/include/sys/limits.h
/usr/include/unistd.h
Я не уверен, какой из трех используется (скорее всего, NLregexp.h). В этих заголовках значение RE_DUP_MAX было установлено в 255! Таким образом, есть ограничение на количество повторений регулярного выражения!
Короче говоря, причина в том, что компиляция принимает определенное системой значение, которое мы определяем в regex.h!
Следовательно, проблема была решена путем переназначения значения RE_DUP_MAX в regex.h
* 1015 т.е. *
# ifdef RE_DUP_MAX
# undef RE_DUP_MAX
# endif
# define RE_DUP_MAX ((1 << 15) - 1)
Ура!