tipos tag remove practices etiquetas crear best git osx-lion

remove - git tag best practices



¿Qué es libintl.h y dónde puedo obtenerlo? (11)

Intentando hacer un make install de git desde la fuente, y sigue generando el error:

make install * new build flags or prefix CC credential-store.o In file included from credential-store.c:1: In file included from ./cache.h:8: ./gettext.h:17:11: fatal error: ''libintl.h'' file not found # include <libintl.h> ^ 1 error generated. make: *** [credential-store.o] Error 1

Ninguna cantidad de Google ha encontrado nada en lib.intl.h. ¿Qué es esta biblioteca esquiva y cómo puedo obtenerla para poder instalar git finalmente?


¿Qué es esta biblioteca esquiva y cómo puedo obtenerla para poder instalar git finalmente?

Del manual de GNU :

11.21 libintl.h

Libintl es una biblioteca que proporciona soporte de idiomas nativos para programas.

Define las macros __USE_GNU_GETTEXT , __GNU_GETTEXT_SUPPORTED_REVISION y declara las funciones gettext , dgettext , dcgettext , ngettext , dngettext , dcngettext , textdomain , bindtextdomain , bind_textdomain_codeset .

Documentación:

Módulo gnulib: gettext

Problemas de portabilidad corregidos por Gnulib, si GNU gettext está instalado:

Este archivo de encabezado falta en algunas plataformas: Mac OS X 10.5, FreeBSD 6.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF / 1 5.1, mingw, MSVC 9, Interix 3.5, BeOS .

Las funciones no pueden manejar archivos GNU .mo con cadenas dependientes del sistema (de la versión principal 1 o de la versión secundaria 1) en algunas plataformas que no son glibc: NetBSD 3.0, Solaris 10.

Puede obtener libintl.h de Gnulib, que es la biblioteca de portabilidad de GNU . Está disponible para descargar desde Savannah de GNU.

La página web de Gnulib también establece:

Gnulib no hace lanzamientos. Está destinado a ser utilizado en el nivel de origen.

Puede navegar por las fuentes de gnulib actuales en Savannah.

Para usar Gnulib, puede recuperar su código fuente y su historial a través de Git anónimo, usando el siguiente comando de shell:

git clone git://git.savannah.gnu.org/gnulib.git

Los desarrolladores también pueden recuperar el código fuente a través de Git no anónimo, con el fin de hacer confirmaciones; Para obtener más información, consulte el archivo README de nivel superior de Gnulib.

Una vez que tenga las fuentes, ejecute ./gnulib-tool --help. Para obtener ayuda y más información, consulte la documentación y otros recursos a continuación.


Aprendí que libintl viene de libgettext. Si ya instaló gettext por Homebrew, vería:

$ locate libintl /usr/local/Cellar/gettext/0.18.3.2/lib/libintl.8.dylib /usr/local/Cellar/gettext/0.18.3.2/lib/libintl.a /usr/local/Cellar/gettext/0.18.3.2/lib/libintl.dylib <..snip..>

y lo siguiente funciona para mí en el tema de "biblioteca no encontrada para -lintl"

ln -s /usr/local/Cellar/gettext/0.18.3.2/lib/libintl.* /usr/local/lib/


Cuando los paquetes buscan este archivo, instale o genere el paquete gettext de GNU. Este paquete "instala" ${prefix}/include/libintl.h , entre otras cosas


Dependiendo del sistema, es probable que sea parte de la biblioteca GNU C (glibc).

Tenga en cuenta que no es probable que la instalación del archivo libintl.h le libintl.h nada.

En los sistemas basados ​​en Debian (incluidos Debian, Ubuntu y Linux Mint), es parte del paquete libc6-dev , instalado con:

sudo apt-get install libc6-dev

Ya que estás usando Mac OS X, una búsqueda en Google de "libintl.h OSX" muestra que muchas personas tienen problemas similares. Según el archivo INSTALL en las fuentes de Git:

Configure NO_GETTEXT para desactivar el soporte de localización y hacer que Git solo use el inglés. En autoconf el script de configure lo hará automáticamente si no puede encontrar libintl en el sistema.



FWIW en OSX con El Capitán y homebrew, hice un:

1) No estaba seguro de si la actualización de El Capitán había roto algo, así que primero me aseguré de tener el último gettext:

$ brew reinstall gettext

Luego tuve que volver a enlazar haciendo:

$ brew unlink gettext && brew link gettext --force

Después de eso, otras herramientas pudieron encontrarlo y la vida volvió a la normalidad.


Para instalar la versión más reciente de git en OSX Lion, esto es lo que hice:

* Tenga en cuenta que si no tiene git ya instalado, solo puede descargarlo del sitio y descomprimirlo en ~/src/git

También recomiendo hacer un whereis git para ver si ya lo tiene instalado para que sepa en qué establecer su prefijo. El mío era /usr/bin/git así que puse mi prefijo a solo /usr

mkdir ~/src git clone https://github.com/git/git.git cd git make configure ./configure --prefix=/usr make make install

Al hacerlo de esta manera, no tuve que descargar bibliotecas adicionales ni buscar en los foros para obtener respuestas. Gracias a automake, sé que git está configurado para mi sistema y se ejecutará sin ningún problema.


Si está intentando compilar AssaultCube y está recibiendo este error (debería quejarse de que falta "INTL / libintl.h"), debe tomar INTL.framework de los contenidos de la aplicación de AssaultCube y ponerlo en / Library / Frameworks. Ningún paquete de MacPorts, HomeBrew, etc. puede arreglarlo. Muy muy molesto cuántos proyectos de código abierto no se compilan.


Si no te importa la localización y estás bien solo con el inglés, define NO_GETTEXT en el Makefile

Desde el Makefile :

Defina NO_GETTEXT si no desea que la salida de Git se traduzca. Un Git traducido requiere GNU libintl u otra implementación de gettext, más libintl-perl en tiempo de ejecución.


Si puede encontrar la versión adecuada de Libtools (desde http://ftp.gnu.org/gnu/libtool/ ), puede encontrarla en el paquete.

De lo contrario, puede utilizar a continuación la configuración para eliminar esta dependencia:

./configure --disable-nls


instala macport y escribe en la terminal

sudo port install libcxx