Compilează Libvirt pentru Python pe Ubuntu

Să instalezi Libvirt pe Ubuntu pentru Python e simplu:

sudo apt install -y python python-pip libvirt-dev
pip install libvirt-python

Cu instalarea default, ar putea să-ți lipsească unele bindings ale API-ului Libvirt expuse pachetului Python, deși ai ultima versiune.  Dacă vreodată ai nevoie să compilezi librăria, uite cum poți (setup-ul meu a fost Libvirt 4.0.0 pe Ubuntu 16.04 cu Python 2.7):

#!/usr/bin/env bash

WORK_DIR="/tmp/libvirt"

sudo apt update
sudo apt install -y git

# LIBVIRT

WORK_DIR_LIBVIRT="$WORK_DIR/libvirt"
mkdir -p $WORK_DIR_LIBVIRT
cd $WORK_DIR_LIBVIRT

LIBVIRT_VERSION="v4.0.0"
git clone -b $LIBVIRT_VERSION --single-branch --depth 1 https://github.com/libvirt/libvirt.git .
git checkout $LIBVIRT_VERSION

sudo apt install -y \
  gettext \
  libtool \
  autoconf \
  autopoint \
  pkg-config \
  xsltproc \
  libxml2-utils
./bootstrap

sudo apt install -y \
  libnl-3-dev \
  libnl-route-3-dev \
  libxml2-dev \
  libdevmapper-dev \
  libpciaccess-dev \
  python
./configure

sudo apt install -y intltool
aclocal

make
sudo make install

# LIBVIRT PYTHON

WORK_DIR_LIBVIRT_PYTHON="$WORK_DIR/python"
mkdir -p $WORK_DIR_LIBVIRT_PYTHON
cd $WORK_DIR_LIBVIRT_PYTHON

LIBVIRT_PYTHON_VERSION="v4.0.0"
git clone -b $LIBVIRT_PYTHON_VERSION --single-branch --depth 1 https://github.com/libvirt/libvirt-python .
git checkout $LIBVIRT_PYTHON_VERSION

sudo apt install -y python-dev

python setup.py build
python setup.py install

# CLEANUP

rm -r $WORK_DIR
sudo apt purge -y \
  gettext \
  libtool \
  autoconf \
  autopoint \
  pkg-config \
  xsltproc \
  libxml2-utils \
  libnl-3-dev \
  libnl-route-3-dev \
  libxml2-dev \
  libdevmapper-dev \
  libpciaccess-dev \
  intltool \
  python-dev

Cele de mai sus pot varia în funcție de configurația ta de Ubuntu. Doar fii atent la erorile privind tool-urile care lipsesc.

Acum poți verifica simbolurile de care aveai nevoie:

sudo apt install -y binutils
nm -g /usr/local/lib/libvirt.so

Recomand ca tentativele de compilare să fie într-un mediu izolat.

Cum configurezi eficient Windows pentru PHP Dev?

Mi se întâmplă deseori să constat lipsa –  pe sistemele unor programatori – a unor  utilitarele mici, inspirate sau portate din lumea Linux. Prin urmare, m-am gândit să încerc să fac un mic ghid despre ce și cum ar trebui instalat.

Plec de la premisa că este și NodeJS instalat iar XAMPP este Stack-ul folosit, dar se poate aplica în orice alt context; scopul este acela de a avea toate utilitarele disponibile în cmd (hint: încearcă cmder)

1. Rapid Environment Editor

Complet opțional, dar foarte la îndemână, util în editarea/adăugarea variabilelor. Sigur, te poți descurca și prin alte metode, dar REE este atât de eficient încât nici nu merită să iau în considerare alte explicații 😀

2. Gow

Este o colecție de utilitare, de genul whereis, wget, curl, grep, tar șamd. În total sunt peste o sută de astfel de programe.

3. GnuWin

Similar cu Gow, dar ultima actualizare a fost în 2009. Eu le am pe amândouă doar pentru că pe ăsta l-am găsit primul și mi-a fost prea lene să le compar 😀

4. Git

Instalat astfel încât Git va fi disponibil direct din cmd. Adică la instalare alegi ultima opțiune:


După ce instalăm tot ce am listat mai sus, deschidem REE și avem grijă ca în PATH să existe directoarele unde au fost instalate utilitarele astea:

Săgețile albastre sunt legate de contul curent din Windows și poate fi aflat prin apăsarea Win+R -> %appData%\npm respectiv %appData\Composer.

Pe lângă utilitarele înșirate mai sus, recomand să adaugi și directoarele bin  de la Apache sau Mysql, respectiv directorul în care se află executabilul php.exe (e.g. c:\xampp\php)

După ce ai adăugat toate variabilele astea în editor, salvezi și dai un restart (unii zic că logout ar fi suficient). Imediat după, dacă deschizi cmd vei avea la dispoziție o mulțime de utilitare, care mai de care mai… utile.