Ошибка Compling Gearman — неизвестен uuid размера хранилища

#c #gearman

#c #gearman

Вопрос:

Пытаюсь скомпилировать gearman на Suse 10, и я получаю это:

 #:~/src/gearmand-0.14> sudo make
make  all-am
make[1]: Entering directory `/src/gearmand-0.14'
  CC     libgearman/libgearman_libgearman_la-client.lo
libgearman/client.c: In function '_client_add_task':
libgearman/client.c:986: error: storage size of 'uuid' isn't known
libgearman/client.c:1002: warning: implicit declaration of function 'uuid_generate'
libgearman/client.c:1003: warning: implicit declaration of function 'uuid_unparse'
libgearman/client.c:986: warning: unused variable 'uuid' [-Wunused-variable]
make[1]: *** [libgearman/libgearman_libgearman_la-client.lo] Error 1
make[1]: Leaving directory `/src/gearmand-0.14'
make: *** [all] Error 2
  

Вот исходный файл, о котором идет речь:

http://bazaar.launchpad.net /~gearman-developers/gearman/trunk/annotate/head:/libgearman/client.c

Ответ №1:

размер хранилища ‘uuid’ неизвестен

Я предполагаю, что вам не хватает #include в client.c.

Комментарии:

1. строка 14 client.c: #включить «common.h» Common.h:64 15 #ifdef HAVE_UUID_UUID_H 65 #включить <uuid/uuid.h> 66 #endif

2. HAVE_UUID_UUID_H Определяется ли этот момент процесса компиляции? Может ли компилятор включить содержимое заголовка <uuid/uuid.h> (обратите внимание, что он заключен в <> и что поиск по нему не такой, как если бы он был заключен в "" )? uuid Определяется этим заголовком?

3. Извините, я недостаточно знаю о C, чтобы ответить на эти вопросы с какой-либо степенью уверенности.

4. Я думаю, вам нужно установить libuuid библиотеку. Согласно этой справочной странице , это часть e2fsprogs пакета.

5. Я думал, что это было установлено, по-видимому, заголовки отсутствуют. Спасибо!