Задать вопрос

Помогите собрать HHVM под Fedora 19

Устанавливаю по мануалу
Уже собрался компилирывать сам hiphop-php
И тут на тебе…
[***@localhost hiphop-php]$ cmake .
-- CMAKE_PREFIX_PATH was missing, proceeding anyway
CMake Error at CMake/FindLibunwind.cmake:19 (message):
  libunwind.h found without matching unwind.h
Call Stack (most recent call first):
  CMake/HPHPFindLibs.cmake:42 (find_package)
  CMake/HPHPSetup.cmake:46 (include)
  hphp/CMakeLists.txt:18 (include)

-- Configuring incomplete, errors occurred!
...
[***@localhost ~]$ sudo yum list boost libunwind gcc elfutils-libelf-devel
[sudo] password for ***: 
Загружены модули: langpacks, refresh-packagekit
Установленные пакеты
boost.x86_64                     1.53.0-12.fc19     @updates                    
elfutils-libelf-devel.x86_64     0.156-3.fc19       @updates                    
gcc.x86_64                       4.8.1-1.fc19       @fedora                     
libunwind.x86_64                 1.1-2.fc19         @koji-override-0/$releasever
Доступные пакеты
elfutils-libelf-devel.i686       0.156-3.fc19       updates                     
libunwind.i686                   1.1-2.fc19         fedora    
  • Вопрос задан
  • 3815 просмотров
Подписаться 3 Оценить 2 комментария
Решения вопроса 1
@mgkirs Автор вопроса
Вобщем удалил все нафиг. Открыл мануал:
тут поменял строчку export CMAKE_PREFIX_PATH=/usr на CMAKE_PREFIX_PATH=/home/user/куда понравиться
Дальше все помануалу. Кроме:
тут ссылка не работает я с лаунч пада скачал версию 1.0.8 а дальше как написанно.
Пока еще компилируется(62%), но что то мне подсказывает что все будет ок.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
iSage
@iSage
libunwind-devel то стоит?
Ответ написан
@BratSinot
Возможно у вас CMake пытается сконфигурировать 32-х битную версию, а libunwind у вас только под amd64. Попробуйте в CFLAGS/CXXFLAGS добавить флаг -m64.
Ответ написан
@mgkirs Автор вопроса
Еще раз большое спасибо, без вас бы никогда не нашол решения. Для тех кто в будующем найдет эту тему:
у меня заработало после того как я установил curl, curl-devil, libmemcached, libmemcached-devil, ttb, ttb-devil, libdwarf, libdwarf-devil, inotify-tools, inotify-tools-devel, libunwind, libunwind-devel из репозитария федоры. mcrypt, mcrypt-devel из rpm как в манулале. А libevent вот с помошю такого хака только 2 строки добавил вот так:
find_library(LIBEVENT_LIB NAMES event PATHS ${LibEvent_LIB_PATHS})

if (LIBEVENT_LIB AND LIBEVENT_INCLUDE_DIR)
  set(LibEvent_FOUND TRUE)
  set(LIBEVENT_LIB ${LIBEVENT_LIB})
else ()
set(LIBEVENT_LIB /home/user/dev/libevent/libevent.so)
set(LIBEVENT_INCLUDE_DIR /home/user/dev/libevent)
if (LIBEVENT_LIB AND LIBEVENT_INCLUDE_DIR)
  set(LibEvent_FOUND TRUE)
  set(LIBEVENT_LIB ${LIBEVENT_LIB})
else ()
  set(LibEvent_FOUND FALSE)
endif ()
endif ()

Таким образом даже удалять libevent не понадобилось бы.
И не забывайте удалять CMakeCache.txt перед командой «cmake .»
Ответ написан
@mgkirs Автор вопроса
Хех? все равно не собрался видимо нужна более старая версия библиотеки memcached)).

/home/kir/dev/hiphop-php/hphp/runtime/ext/ext_memcached.cpp:763:26: замечание: in expansion of macro «LMCD_SERVER_MICRO_VERSION»
uint8_t microVersion = LMCD_SERVER_MICRO_VERSION(server);
^
/home/kir/dev/hiphop-php/hphp/runtime/ext/ext_memcached.cpp: В функции-члене «HPHP::Variant HPHP::c_Memcached::t_getversion()»:
/home/kir/dev/hiphop-php/hphp/runtime/ext/ext_memcached.cpp:778:63: ошибка: некорректное преобразование из «memcached_return_t (*)(const memcached_st*, const memcached_instance_st*, void*)» в «memcached_server_function {aka memcached_return_t (*)(const memcached_st*, const org::libmemcached::Instance*, void*)}» [-fpermissive]
memcached_server_function callbacks[] = { doVersionCallback };
^
make[2]: *** [hphp/CMakeFiles/hphp_runtime_static.dir/runtime/ext/ext_memcached.cpp.o] Ошибка 1
make[1]: *** [hphp/CMakeFiles/hphp_runtime_static.dir/all] Ошибка 2
make: *** [all] Ошибка 2
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы