2014-01-02 6 views
1

Я пытаюсь настроить libvirt-php на моем сервере ubuntu, чтобы выполнить некоторый тест с PHP API. Я выполняю эту процедуру:Ошибка компиляции libvirt-php на сервере Ubuntu 12.04

sudo apt-get install libvirt-dev xsltproc libxml2-dev libxml2 
cd ~ 
git clone git://libvirt.org/libvirt-php.git libvirt-php 
cd libvirt-php 
sudo sh autogen.sh 
sudo ./configure 
sudo make 
sudo make install 
sudo service apache2 restart 

я также установил php5-DEV и xmllint пакет для Ubuntu, но когда я иду на 7 линии: сделать я получаю эти ошибки:

make all-recursive 
make[1]: Entering directory `/root/libvirt-php' 
Making all in tools 
make[2]: Entering directory `/root/libvirt-php/tools' 
gcc -Wall -o generate-api-docs generate-api-docs.c 
./generate-api-docs ../src/libvirt-php.c ../docs/api-reference.html.in 
Documentation has been generated successfully 
./generate-api-docs --private ../src/libvirt-php.c ../docs/dev-api-reference.html.in 
Documentation has been generated successfully 
make[2]: Leaving directory `/root/libvirt-php/tools' 
Making all in src 
make[2]: Entering directory `/root/libvirt-php/src' 
gcc -g -O2 -Wall -fpic -DCOMPILE_DL_LIBVIRT=1 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -c -o libvirt-php.o libvirt-php.c -I/usr/include/libxml2 -DHAVE_CONFIG_H 
libvirt-php.c: In function ‘zm_startup_libvirt’: 
libvirt-php.c:1149:2: error: ‘VIR_DOMAIN_VCPU_GUEST’ undeclared (first use in this function) 
libvirt-php.c:1149:2: note: each undeclared identifier is reported only once for each function it appears in 
libvirt-php.c: In function ‘zif_libvirt_domain_get_metadata’: 
libvirt-php.c:3240:2: warning: implicit declaration of function ‘virDomainGetMetadata’ [-Wimplicit-function-declaration] 
libvirt-php.c:3240:6: warning: assignment makes pointer from integer without a cast [enabled by default] 
libvirt-php.c: In function ‘zif_libvirt_domain_set_metadata’: 
libvirt-php.c:3285:2: warning: implicit declaration of function ‘virDomainSetMetadata’ [-Wimplicit-function-declaration] 
libvirt-php.c: In function ‘zif_libvirt_connect_get_soundhw_models’: 
libvirt-php.c:4135:8: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] 
libvirt-php.c: In function ‘zif_libvirt_connect_get_nic_models’: 
libvirt-php.c:4064:8: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] 
libvirt-php.c: In function ‘zif_libvirt_domain_get_screenshot_api’: 
libvirt-php.c:3564:9: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result] 
libvirt-php.c: In function ‘zif_libvirt_image_create’: 
libvirt-php.c:2172:8: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result] 
make[2]: *** [build] Error 1 
make[2]: Leaving directory `/root/libvirt-php/src' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/root/libvirt-php' 
make: *** [all] Error 2 

так я не может компилироваться. Любая помощь?

ответ

0

Требовать версия написали в мерзавце: //libvirt.org/libvirt-php кажется неправильным

Это показывает LIBVIRT_REQUIRED=0.6.2, но в версии 0.9.8, который Ubuntu 12.04 с использованием, переменная virDomainGetMetadata и VIR_DOMAIN_VCPU_GUEST не определена, что привели к этой ошибке.

(Если вы хотите запросить то, что вы Libvirt-DEV версии введите $ dpkg-query -s libvirt-dev)

Вы можете попробовать это:

  1. обновить Ubuntu

    Последняя версия Ubuntu поддерживает новый libvirt-dev, которые имеют переменную virDomainGetMetadata

    https://launchpad.net/ubuntu/+source/libvirt

  2. Использование Libvirt-PHP 0.4.8

    Я использую это, чтобы решить эту проблему, но возникает другая проблема, что он не поддерживает libvirt_domain_get_metadata.

    Следующие шаги показывают, как использовать Libvirt-PHP 0.4.8:

    посещения http://libvirt.org/php/downloads.html

    $wget http://libvirt.org/sources/php/libvirt-php-0.4.8.tar.gz 
    $tar -xvf libvirt-php-0.4.8.tar.gz 
    $cd libvirt-php-0.4.8 
    $./configure 
    $make 
    

    Проверить есть не одна проблема, то

    $sudo make install 
    $sudo /etc/init.d/apache2 restart 
    
+0

Я нашел лучше и проще: я добавил этот https://launchpad.net/~metacloud/+archive/libvirt-1.2.2 ppa (он содержит libvirt 1. 2.2) и после 'apt-get update && apt-get dist-upgrade' я смог его скомпилировать – s3v3n