为什么在 x86 Solaris 10 上用 gcc 3.4.3 gmake 构建 ratpoison 时会出现以下错误

Why does the following error occurs when I gmake to build ratpoison on x86 Solaris 10 with gcc 3.4.3

为什么我在 x86 Solaris 10 上用 gcc 3.4.3 gmake 构建 ratpoison 时会出现以下错误

文件 strcastr 中未定义的第一个引用符号 completions.o ld:致命:符号引用错误。没有输出写入 ratpoison collect2: ld 返回 1 退出状态 gmake[2]: *** [老鼠药] 错误 1

但是 _GNU_SOURCE 在 completions.c。

/*
 * Per POSIX strcasestr should be declared in strings.h
 * glibc declares it in string.h instead and needs 
 * _ GNU_SOURCE
 */
  #define _GNU_SOURCE
  #include <strings.h>
  #include <string.h>

strcasestr 是 GNU 扩展。它不是 Solaris libc 的一部分。 Gnulib 有一个 implementation of strcasestr you could use. See the instructions for using gnulib-tool.