木原です。

Solaris10(x86)でtrunkをコンパイルしようとしたら、
sigscheme/src/module.cで以下のエラーになったので、
  ../sigscheme/src/module.c:53: error: redefinition of `struct module_info'
とりあえず構造体の名前をmodule_info_に変更してコンパイルを通しました。

struct module_infoは、/usr/include/sys/stream.hにあります(STREAMS)。
uim-1.4.1ではエラーは出ていませんでした。
trunkではreplace/fake-rfc2553.h内の#include <netdb.h>によって
sys/stream.hが#includeされます。
  uim-scm.c --> ../sigscheme/src/sigscheme-combined.c
  --> ../sigscheme/src/alloc.c --> ./config.h --> ../replace/os_dep.h
  --> ../replace/fake-rfc2553.h --> /usr/include/netdb.h
  --> /usr/include/netinet/in.h --> /usr/include/sys/stream.h
  (カレントディレクトリはuim)

 gcc -DHAVE_CONFIG_H -I. -I../replace -I../uim 
-DSCM_FILES=\"/usr/local/share/uim\" -I.. -I../sigscheme/include 
-I../sigscheme/src -I../sigscheme/src 
-I/work/uim-trunk/sigscheme/libgcroots/include 
-DPKGLIBDIR=\"/usr/local/lib/uim\" -DPKGDATADIR=\"/usr/local/share/uim\" 
-I/usr/local/include -Wno-redundant-decls -Wno-unused-function -g -O2 -pedantic 
-pipe -Wall -Wchar-subscripts -Wmissing-declarations -Wredundant-decls 
-Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align 
-Wsign-compare -Wno-long-long -DNDEBUG -Wno-redundant-decls 
-Wno-unused-function -MT libuim_la-uim-scm.lo -MD -MP -MF 
.deps/libuim_la-uim-scm.Tpo -c uim-scm.c  -fPIC -DPIC -o 
.libs/libuim_la-uim-scm.o
In file included from ../sigscheme/src/sigscheme-combined.c:15,
                 from uim-scm.c:41:
../sigscheme/src/module.c:53: error: redefinition of `struct module_info'

# uim-ja-subscribeにメールを送ってsubscribeしたつもりが、
# Googleアカウントを作っていなかったので、投稿エラーをくらってました。
## Googleアカウントが無くてもメールでのsubscribeはできたように見えるのは変

参考までに以下変更差分。
--- module.c.dist       2007-05-20 11:35:36.000000000 +0900
+++ module.c    2007-05-24 12:53:05.767061000 +0900
@@ -50,7 +50,7 @@
 /*=======================================
   File Local Type Definitions
 =======================================*/
-struct module_info {
+struct module_info_ {
     const char *name;
     void (*initializer)(void);
     void (*finalizer)(void);
@@ -69,7 +69,7 @@ SCM_GLOBAL_VARS_END(static_module);
 #define l_provided_modules SCM_GLOBAL_VAR(static_module, l_provided_modules)
 SCM_DEFINE_STATIC_VARS(static_module);
 
-static const struct module_info module_info_table[] = {
+static const struct module_info_ module_info_table[] = {
 #if SCM_USE_SSCM_EXTENSIONS
     {"sscm-ext", scm_initialize_sscm_extensions, NULL},
 #endif
@@ -112,16 +112,16 @@ static const struct module_info module_i
 /*=======================================
   File Local Function Declarations
 =======================================*/
-static const struct module_info *lookup_module_info(const char *feature);
+static const struct module_info_ *lookup_module_info(const char *feature);
 static void *scm_use_internal(const char *feature);
 
 /*=======================================
   Function Definitions
 =======================================*/
-static const struct module_info *
+static const struct module_info_ *
 lookup_module_info(const char *feature)
 {
-    const struct module_info *mod;
+    const struct module_info_ *mod;
 
     for (mod = module_info_table; mod->name; mod++) {
         if (strcmp(feature, mod->name) == 0)
@@ -143,7 +143,7 @@ scm_init_module(void)
 SCM_EXPORT void
 scm_fin_module(void)
 {
-    const struct module_info *mod;
+    const struct module_info_ *mod;
     const char *c_mod_name;
     ScmObj mod_name;
 
@@ -204,7 +204,7 @@ scm_use_internal(const char *feature)
 SCM_EXPORT ScmObj
 scm_s_use(ScmObj feature, ScmObj env)
 {
-    const struct module_info *mod;
+    const struct module_info_ *mod;
     ScmObj feature_str;
     const char *c_feature_str;
     DECLARE_FUNCTION("use", syntax_fixed_1);


--~--~---------~--~----~------------~-------~--~----~
Google Groups "uim-ja" group
uim-ja@googlegroups.com
http://groups.google.com/group/uim-ja/about
-~----------~----~----~----~------~----~------~--~---

メールによる返信