La distribución de fuentes de Samba 2.0 y anteriores no tenían inicialmente un makefile. En su lugar, se generaba uno a través de un script GNU configure, el cual se localizaba en el directorio samba-2.0.x /source/. El script configure, que debería ser ejecutado como root, se encarga de las configuraciones específicas a la máquina destino donde se iba a instalar Samba. Sin embargo, todavía puedes decidir sobre algunas opciones globales. Las opciones globales pueden ser establecidas pasando opciones a través de la línea de comandos:
# ./configure --with-ssl
Por ejemplo, esto configurará el fichero makefile para Samba con soporte para el protocolo de encriptación Secure Sockets Layer (SSL). Si quieres ver la lista completa de opciones, teclea lo siguiente:
#./configure --help
Cada una de estas opciones activa/desactiva varias características. Normalmente activarás una característica especificando la opción -con-opcion, la cual causará que la característica sea compilada e instalada. Del mismo modo, si especificas una opción -sin-opcion, la característica será desactivada. Desde Samba 2.0.5, cada una de las siguientes características están desactivadas por defecto:
En adición, la Tabla 2.1 muestra algunos de los otros parámetros que puedes usar con el script configure si quieres ubicar partes de la distribución de Samba en diferentes lugares, quizás para hacer uso de múltiples discos o particiones. Nota que los valores por defecto de la tabla muchas veces se refieren a un prefijo especificado previamente.
Opción | Significado | V. por Defecto |
---|---|---|
-prefix=directorio | Instala los archivos independientes de la arquitectura en el directorio base especificado. | /usr/local/samba |
-eprefix=directorio | Instala los archivos dependientes de la arquitectura en el directorio base especificado. | /usr/local/samba |
-bindir=directorio | Instala ejecutables de usuario en el directorio especificado. | eprefix /bin |
-sbindir=directorio | Instala ejecutables de administrador en el directorio especificado. | eprefix /bin |
-libexecdir=directorio | Instala programas ejecutables en el directorio especificado. | eprefix /libexec |
-datadir=directorio | Instala los datos de sólo lectura independientes de la arquitectura en el directorio especificado. | prefix /share |
-libdir=directorio | Instala librerías de programas en el directorio especificado. | eprefix /lib |
-includedir=directorio | Instala los paquetes de ficheros include en el directorio especificado. | prefix /include |
-infodir=directorio | Instala los ficheros de información adicional en el directorio especificado. | prefix /info |
-mandir=directorio | Instala las páginas de manual en el directorio especificado. | prefix /man |
De nuevo, antes de ejecutar el script configure, es importante que seas el usuario root del sistema. De lo contrario, podrías obtener un warning como este:
configure: warning: running as non-root will disable some tests
No querrás que ningún test sea desactivado cuando se cree el makefile de Samba; esto amplía el potencial de errores al tiempo de compilación o ejecución de Samba en tu sistema.
Aquí tienes una simple ejecución del script configure, el cual crea un makefile para Samba 2.0.4 para la plataforma Linux. Nota que debes ejecutar el script en el directorio source, y que varias líneas de la mitad de la salida han sido omitidas:
# cd samba-2.0.4b/source/ # ./configure | tee mylog loading cache ./config.cache checking for gcc... (cached) gcc checking whether the C compiler (gcc -O ) works... yes checking whether the C compiler (gcc -O ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for a BSD compatible install... (cached) /usr/bin/install -c ...(contenido omitido)... checking configure summary configure OK creating ./config.status creating include/stamp-h creating Makefile creating include/config.h
En general, cualquier mensaje desde configure que no sea antecedido por las palabras checking o creating es un error; frecuentemente te ayudará redirigir la salida del script a un fichero para localizar errores, como hicimos con el comando tee anteriormente. Si se produce un error durante la compilación, información más detallada sobre él se puede encontrar en el fichero config.log, el cual se genera en el directorio local mediante el script configure.
Si todo va bien, obtendrás un mensaje checking configure summary seguido de un mensaje configure OK y 4 ó 5 mensajes de creación de ficheros. Así que, si ha ido bien ... El Siguiente Paso: compilar.