#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. Я думал, что это было установлено, по-видимому, заголовки отсутствуют. Спасибо!