2013-09-13 1 views
0

Я пытаюсь скомпилировать abiword в моей среде Cygwin. У меня есть cygwin 1.7.25.Нужно ли обновлять Glib в Cygwin?

Компиляция терпит неудачу относительно БОЙКОГО:

libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_REENTRANT -I/usr/include/fribidi - 
I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgsf-1 -I/usr/include/libxml2 
-I/usr/include/wv -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pixman-1 - 
I/usr/include/libpng15 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/gtk-2.0 - 
I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 - 
I/usr/include/gio-unix-2.0/ -I/usr/include/gtk-unix-print-2.0 -I/usr/include/librsvg-2.0 -Wall - 
Wextra -Wsign-compare -Wpointer-arith -Wchar-subscripts -Wwrite-strings -Wmissing-noreturn - 
Wunused -Wpointer-arith -Wshadow -g -O2 -MT go-cmd-context.lo -MD -MP -MF .deps/go-cmd- 
context.Tpo -c goffice/app/go-cmd-context.c -DDLL_EXPORT -DPIC -o .libs/go-cmd-context.o 
In file included from ./goffice/app/goffice-app.h:25:0, 
       from ./goffice/app/go-cmd-context.h:24, 
       from goffice/app/go-cmd-context-impl.h:4, 
       from goffice/app/go-cmd-context.c:10: 
/usr/include/glib-2.0/glib/gmacros.h:35:2: error: #error "Only <glib.h> can be included directly." 
goffice/app/go-cmd-context.c: In function ‘go_cmd_context_get_type’: 
goffice/app/go-cmd-context.c:147:3: warning: missing initializer [-Wmissing-field-initializers] 
goffice/app/go-cmd-context.c:147:3: warning: (near initialization for ‘go_cmd_context_info.class_init’) [-Wmissing-field-initializers] 
Makefile:503: recipe for target `go-cmd-context.lo' failed 
make[3]: *** [go-cmd-context.lo] Error 1 
make[3]: Leaving directory `/home/kingram/src/abiword-2.8.6/goffice-bits' 
Makefile:409: recipe for target `all' failed 
make[2]: *** [all] Error 2 
make[2]: Leaving directory `/home/kingram/src/abiword-2.8.6/goffice-bits' 
Makefile:670: recipe for target `all-recursive' failed 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/home/kingram/src/abiword-2.8.6' 
Makefile:473: recipe for target `all' failed 
make: *** [all] Error 2 

Поиск Google выпустила отчет об ошибке Redhat предполагая, что Glib 2,31 требуется. Я рассматриваю возможность загрузки и компиляции последнего glib из источника, поскольку cygwin, похоже, не использует его. Тем не менее, я хотел бы получить некоторое представление об этом выборе или услышать, если есть некоторые другие впечатления вокруг этого.

ответ

2
  1. На самом деле, Glib 2.31 является виновником; его заголовки изменены так, что только заголовки верхнего уровня могут быть #include d, а не отдельные заголовки классов.
  2. Cygwin У есть последняя стабильная ветка Glib.
  3. Поэтому, чтобы получить это для компиляции, вам необходимо исправить код #include s, как указано в сообщениях об ошибках.
  4. Тем не менее, я могу сэкономить вам неприятности: пакеты с абижетом доступны от Cygwin Ports.
+0

Ah. Восхитительный. Спасибо. –

+0

Это была хорошая рекомендация, но их сайт, похоже, не работает. –

+0

Должно быть, это был временный перерыв, потому что он определенно работает сейчас. – Yaakov