macos - sencilla - Cómo construir goncurses en os x, centos 6
instalar osx en pendrive (2)
OS X, Centos 6 y Debian Squeeze vienen con v5.7 de ncurses, pero el contenedor de salida "goncurses" requiere 5.9. Intentar construirlo en cualquiera de esas plataformas le dará un error como este:
$ go get -v code.google.com/p/goncurses
code.google.com/p/goncurses
# code.google.com/p/goncurses
/tmp/go-build527609801/code.google.com/p/goncurses/_obj/goncurses.o:
In function ''ncurses_is_subwin'':src/code.google.com/p/goncurses/goncurses.c:71: undefined reference to `is_subwin''
/tmp/go-build527609801/code.google.com/p/goncurses/_obj/goncurses.o:
In function ''ncurses_is_pad'':src/code.google.com/p/goncurses/goncurses.c:63: undefined reference to `is_pad''
Puede usar homebrew para instalar ncurses v5.9 en os x, y compilar desde el origen en / usr / local / on linux, pero ¿cómo puede utilizar sus ncurses actualizados al construir?
Este Gist es una fórmula de ncurses
modificada para Homebrew que agrega los archivos .pc
al barril. Si instala ncurses
con él, use la PKG_CONFIG_PATH
entorno PKG_CONFIG_PATH
para apuntar a pkg-config a los archivos .pc
, antes de invocar go build
o go run
.
$ export PKG_CONFIG_PATH=/usr/local/Cellar/ncurses/5.9/lib/pkgconfig
$ go run your_ncurses_program.go
@JimB respondió mi otra pregunta Cómo cambiar la ruta de acceso de lib para "ir compilación" con una sugerencia para aprovechar pkg-config, que solución se verá así:
En CentOS 6 puedes construir ncurses desde una fuente como esta, que colocará los archivos .pc que dirijan pkg-config en tu propio directorio en lugar de / usr / lib64 / pkgconfig /
mkdir ~/local-pkg-config
PKG_CONFIG_LIBDIR=~/local-pkg-config ./configure --prefix=/usr/local/ --enable-pc-files --with-pkg-config
make && make install
En OS X puedes instalar ncurses desde homebrew. Homebrew generalmente coloca archivos .pc junto con el paquete, por ejemplo, /usr/local/Cellar/pango/1.34.1/lib/pkgconfig/pango.pc
. Por alguna razón, Homebrew no tiene ningún archivo .pc con sus ncurses, pero yo agarré exitosamente los de CentOS en ~ / local-pkg-config y los cambié para adaptarlos a:
@@ -1,7 +1,7 @@
-prefix=/usr/local/
+prefix=/usr/local/Cellar/ncurses/5.9/
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
-includedir=${prefix}/include/ncurses
+includedir=${prefix}/include
major_version=5
version=5.9.20110404
Ahora en cualquiera de las plataformas está configurado para obtener el paquete goncurses:
PKG_CONFIG_PATH=~/local-pkg-config/ go get -v code.google.com/p/goncurses