Problema
Ao compilar ou instalar samba você recebe o seguinte erro:
........ Checking for python version >= 3.6.0 : 3.9.16 python-config : not found Checking for library python3.9 in LIBDIR : not found Checking for library python3.9 in python_LIBPL : not found Checking for library python3.9 in $prefix/libs : not found Checking for library python3.9 in $INCLUDEPY/../libs : not found Checking for library python3.9m in LIBDIR : not found Checking for library python3.9m in python_LIBPL : not found Checking for library python3.9m in $prefix/libs : not found Checking for library python3.9m in $INCLUDEPY/../libs : not found Checking for library python39 in LIBDIR : not found Checking for library python39 in python_LIBPL : not found Checking for library python39 in $prefix/libs : not found Checking for library python39 in $INCLUDEPY/../libs : not found Checking for header Python.h : Could not build a Python embedded interpreter The configuration failed (complete log in /root/downloads/samba-4.18.5/bin/config.log)
Causa e Solução 01
Faça instalação do python em sua distro Linux. Sim, tudo indica que você não tem instalado o python.
Para instalar vai depender muito de qual distro Linux está usando e qual a versão da distro, se é Debian 10 ou 11 ou 12… ou ainda Ubuntu, CentOS etc…
Veja se está instalado da executando no terminal do comando python -V
[root@oraclelinux9]# python -V Python 3.9.16
para saber onde está o executával do python which python
[root@oraclelinux9 # which python /usr/bin/python
Se esses comandos não trouxer resultados, então instale
Para apt
( Ubuntu, Debian… ):
sudo apt-get install python-dev # para instalar python2.x
sudo apt-get install python3-dev # para instalar python3.x
Para yum
( CentOS, RHEL… ):
sudo yum install python-devel # para instalar python2.x
sudo yum install python3-devel # para instalar python3.x
Para dnf
( Fedora… ):
sudo dnf install python2-devel # para instalar python2.x
sudo dnf install python3-devel # para instalar python3.x
Para zypper
( openSUSE… ):
sudo zypper in python-devel # para instalar python2.x
sudo zypper in python3-devel # para instalar python3.x
Para apk
( Alpino… ):
# This is a departure from the normal Alpine naming
# scheme, which uses py2- and py3- prefixes
sudo apk add python2-dev # para instalar python2.x
sudo apk add python3-dev # para instalar python3.x
Para apt-cyg
( Cygwin… ):
apt-cyg install python-devel # para instalar python2.x
apt-cyg install python3-devel # para instalar python3.x
Nota: python3-dev não cobre automaticamente todas as versões secundárias de python3, se você estiver usando, por exemplo, python 3.8, pode ser necessário instalar python3.8-dev.
Causa e Solução 02
O python já está instalado mas mesmo assim retorna erro ao compilar o samba. Isso pode indicar que o compilador do samba está procurando o python com nome diferente ou em outro caminho.
Por exemplo, tenho o python 3.11 mas o samba procura por 3.9
Você ainda pode ter mais de uma versão do python instalada o que deixa propenso a acontecer o que mencionei acima.
Por exemplo, em meu pc linux tenho,
[root@oraclelinux9 samba-4.18.5]# ls -l /usr/bin/python* lrwxrwxrwx. 1 root root 9 jun 14 16:04 /usr/bin/python -> ./python3 lrwxrwxrwx. 1 root root 9 jun 14 16:04 /usr/bin/python3 -> python3.9 -rwxr-xr-x. 1 root root 15456 jun 14 17:17 /usr/bin/python3.11 -rwxr-xr-x. 1 root root 62 jun 14 17:17 /usr/bin/python3.11-config -rwxr-xr-x. 1 root root 3584 jun 14 17:06 /usr/bin/python3.11-x86_64-config -rwxr-xr-x. 1 root root 15448 jun 14 16:04 /usr/bin/python3.9
Tenho python que é um link para python3
python3 é um link para python3.9
E ainda tenho python 3.11
Uma confusão total 🙂
Tente usar ./configure python=python3.11
ou substitua python3.11 pela sua versão instalada e desejada.
./configure python=python3.11