Назад | Перейти на главную страницу

Ошибка компиляции 64-битной glib2 на Solaris 10

У меня возникла проблема при сборке glib-2.26.1 на Solaris 10 - 64-бит. Хорошее усердие ничего не дает, но, что бы я ни делал, сборка терпит неудачу. Я пробовал использовать компилятор Sun Studio, gcc (SFW), но безрезультатно.

Когда я компилирую, я получаю следующую ошибку:

[root@foo glib-2.26.1]$ export CC=/opt/solstudio12.2/bin/cc
[root@foo glib-2.26.1]$ export CFLAGS="-m64"
...configure goes normally...
[root@foo glib-2.26.1]$ make

...snip...

source='gatomic.c' object='gatomic.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool  --tag=CC   --mode=compile /opt/solstudio12.2/bin/cc -DHAVE_CONFIG_H -I. -I..  -I.. -I../glib -I../glib -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -D_PTHREADS  -m64 -c -o gatomic.lo gatomic.c
libtool: compile:  /opt/solstudio12.2/bin/cc -DHAVE_CONFIG_H -I. -I.. -I.. -I../glib -I../glib -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -D_PTHREADS -m64 -c gatomic.c  -KPIC -DPIC -o .libs/gatomic.o
"gatomic.c", line 885: warning: no explicit type given
"gatomic.c", line 885: syntax error before or at: *
"gatomic.c", line 885: warning: old-style declaration or incorrect type for: g_atomic_mutex
"gatomic.c", line 906: warning: implicit function declaration: g_mutex_lock
"gatomic.c", line 909: warning: implicit function declaration: g_mutex_unlock
"gatomic.c", line 1155: warning: implicit function declaration: g_mutex_new
"gatomic.c", line 1155: warning: improper pointer/integer combination: op "="
cc: acomp failed for gatomic.c
make[4]: *** [gatomic.lo] Error 1
make[4]: Leaving directory `/root/glib-2.26.1/glib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/glib-2.26.1/glib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/glib-2.26.1/glib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/glib-2.26.1'
make: *** [all] Error 2

Кто-нибудь знает, где сборка может пойти не так? Не уверен, где еще здесь искать.

Спасибо.

Оказывается, это ошибка в 2.26.1. Это, конечно, одна из тех ошибок, которые вы обнаруживаете через 30 секунд после того, как задаете соответствующий вопрос. Соответствующий патч можно найти здесь, на гитхабе.