/usr/bin/ld: cannot find -lpython2.6

Al instalar un módulo de python utilizando pip (gestor de paquetes de python) podemos recibir el siguiente error durante la compilación:

    /usr/bin/ld: cannot find -lpython2.6
    collect2: ld returned 1 exit status
    error: command 'gcc' failed with exit status 1

Por supuesto puede ocurrir con otras versiones de python, no únicamente con la 2.6:

    /usr/bin/ld: cannot find -lpython2.7
    collect2: ld returned 1 exit status
    error: command 'gcc' failed with exit status 1

El problema tiene origen en no tener instalado el paquete devel de python, necesario para la compilación. La solución es sencilla, instalamos el paquete python-devel:

RHEL, CentOS, Fedora, Scientific Linux…

# yum install python-devel

Debian, Ubuntu…

# apt-get install python-dev

Una vez instalado volvemos a intentar la instalación del módulo con pip:

# pip install --upgrade python-iptables
Downloading/unpacking python-iptables
  Downloading python-iptables-0.8.0.tar.gz
  Running setup.py egg_info for package python-iptables
Installing collected packages: python-iptables
  Running setup.py install for python-iptables
    building 'libxtwrapper' extension
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.6 -c libxtwrapper/wrapper.c -o build/temp.linux-x86_64-2.6/libxtwrapper/wrapper.o
[...]