No puedo instalar WordGrinder en Yosemite

Recientemente, he estado intentando instalar WordGrinder en Yosemite. Primero intenté obtener los últimos paquetes tar del sitio web de los desarrolladores y usarlos, pero me encontré con algunos errores de enlace de biblioteca con luay ncursesw. Intenté usar MacPorts porque supuse que haría todo eso por mí, pero resultó que los problemas que encontré primero eran solo confusión de algunas instalaciones sucias anteriores de MacPorts: corrí port selfupdatey desaparecieron. Después de más dificultades con MacPorts, decidí reconsiderar la creación desde el código fuente. Pero ahora, cuando uso make, obtengo la siguiente serie de errores:

Maat:wordgrinder-0.5.1 Matt$ hacer
CC .obj/release/src/c/arch/unix/cursesw/dpy.o
error: no se puede abrir el archivo de salida '.obj/release/src/c/arch/unix/cursesw/dpy.o': 'Error al abrir el archivo de salida '.obj/release/src/c/arch/unix/cursesw/dpy .o': Permiso denegado'
1 error generado.
hacer: *** [.obj/release/src/c/arch/unix/cursesw/dpy.o] Error 1
Maat:wordgrinder-0.5.1 Matt$ sudo hacer
CC .obj/release/src/c/arch/unix/cursesw/dpy.o
src/c/arch/unix/cursesw/dpy.c:164:8: error: uso del identificador no declarado 'KEY_EVENT'
                caso KEY_EVENT: devuelve "KEY_EVENT";
                     ^
1 error generado.
hacer: *** [.obj/release/src/c/arch/unix/cursesw/dpy.o] Error 1
Maat:wordgrinder-0.5.1 Matt$

Primero, tengo que usar sudopara que el compilador acceda al archivo de salida (no creo que deba hacer eso, pero no es el problema principal), y luego, cuando lo hago, me encuentro con el otro. , sobre el " use of undeclared identifier 'KEY_EVENT'". Revisé el archivo MAKE y el README.Unix varias veces, pero no puedo entenderlo. Leí en otro problema no relacionado con la instalación de WordGrinder en OS X que "construir en Mac es un cerdo", y ahora no puedo evitar estar de acuerdo. ¿Qué está fallando y cómo puedo hacer que WordGrinder se instale correctamente en OS X?

EDIT 3: Al final, borré mis intrincadas carpetas /usr/local y /opt y reorganicé una gran parte de mi sistema de archivos. Instalé Homebrew en la pizarra limpia que había creado, luego instalé lua y Homebrew/dupes/ncurses usando Homebrew según los pasos que Alistair enumeró en su respuesta. Luego descargué wordgrinder-0.5.2.1 en lugar de wordgrinder-0.5.1, porque 0.5.2.1 había agregado soporte para la instalación de Homebrew. No más problemas con la tecla de retroceso. En este punto, wordgrinder-staticse ejecutaría, pero wordgrinderno lo haría (nuevamente, como informó Alistair). La instalación de luafilesystem permitió wordgrinderejecutarse, como predije en una revisión anterior de esta respuesta. Usé Homebrew para instalar luarocks en mi Bodega ( brew install luarocks) y luego usé luarocks para instalar luafileystem en mi directorio /usr/local/lib/luarocks/rocks.wordgrinder ahora funciona perfectamente bien, sin problemas.

Muchas gracias a Alistair por toda la ayuda. Aprendí mucho más de lo que ya aprendí en el proceso de tratar de hacer que esto funcionara, y es posible que pueda encargarme del resto yo mismo; como dije antes, documentaré mis resultados aquí a medida que los obtenga.

Respuestas (2)

ACTUALIZACIÓN: Como señaló Matthew a continuación, el 0.5.2.1 lanzado recientemente tiene mejor soporte para OS X y ahora, así que descargue y extraiga wordgrinder-0.5.2.1.tar.bz2 de http://sourceforge.net/projects/wordgrinder /files/wordgrinder/ y correr makedebería funcionar. La única dependencia que necesita instalar a través de brew ahora parece ser lua, así que brew install luaprimero si aún no tiene lua instalado.

ORIGINAL: Así es como conseguí que funcionara con la versión anterior...

  • Descargado y extraído el archivo wordgrinder-0.5.1.tar.bz2 de http://sourceforge.net/projects/wordgrinder/files/wordgrinder/
  • Cerveza usada para instalar lua:brew install lua
  • Usé brew para instalar ncurses desde homebrew-dupes:brew install homebrew/dupes/ncurses
  • Hizo las siguientes modificaciones al Makefile. Puede descargar el archivo modificado aquí .
    • agregó una definición de z_crc_t
    • LDFLAGS modificado para que pueda encontrar bibliotecas instaladas a través de brew
    • modificó CPPFLAGS e INCLUDES para que pueda encontrar archivos de inclusión instalados a través de brew
    • ldflags modificados porque está buscando "lua5.2" pero la biblioteca en OS X se llama "lua.5.2"
  • Ran make, que funciona bien con estos cambios. bin/wordgrinderse bloquea de inmediato, pero bin/wordgrinder-staticparece funcionar bien.
  • 'sudo make install' falla, así que simplemente copié wordgrinder-static /usr/local/biny parece funcionar correctamente allí.
¿Puedes decirnos exactamente lo que estás haciendo? ¿Descarga la fuente (supongo que en su carpeta de Descargas), la extrae, hace un CD en ella, escribe makey obtiene los errores de permiso denegado?
Eso es exactamente lo que estoy haciendo. Lo siento, pero si aún no se ha reunido, soy (relativamente, no del todo) nuevo en la construcción e instalación desde la fuente.
Lo siento, estoy más confundido por qué make no funciona para ti que cualquier otra cosa. ¿Dónde está poniendo los archivos fuente extraídos de wordgrinder-0.5.1.tar.bz2?
Tengo una carpeta en mi escritorio llamada temp. En esa carpeta está mi copia de wordgrinder-0.5.1.bz2 y una carpeta llamada wordgrinder-0.5.1. La última carpeta que mencioné es donde se almacenan los archivos extraídos del bz2 y desde donde estoy ejecutando make.
Si ingresa a esa carpeta wordgrinder-0.5.1 en Terminal y escribe, ¿ ls -alcómo se ven los permisos? Todas las carpetas deben ser drwxr-xr-x@(para las que provienen de la descarga) o drwxr-xr-x(para las creadas por make) y todos los archivos deben ser -rw-r--r--@.
Todos los permisos en la carpeta están en orden, como dijiste. Todo lo que pareció makecrear fue un directorio llamado .obj(y varios contenidos) con el permiso 755 y sin marca de cuarentena (como se esperaba). Además, no hay problemas con los permisos cuando ejecuto makeel archivo MAKE modificado. Estoy bastante seguro de que la mayoría de los problemas que tengo son con mis instalaciones irregulares/redundantes de ncursesy lua. Tendré que desinstalar un montón de cosas y luego volver a instalarlas correctamente.
¿ Qué obtienes si escribes echo $PATHen una ventana de Terminal?
El archivo MAKE modificado ahora es innecesario: wordgrinder-0.5.2.1 agregó soporte para las instalaciones de Homebrew y aparentemente solucionó algunos otros problemas que estaba teniendo.

Según la información que Alistair y Matthew ya proporcionaron, pude instalar wordgrinder tanto en Mavericks como en Yosemite mediante una combinación de los dos métodos que describió. De hecho, pude ejecutar wordgrinder, no solo wordgrinder-static. Pasos para reproducir:

brew install lua
brew install Homebrew/dupes/ncurses
brew install luarocks
brew install zlib
luarocks install luafilesystem

y luego, en la carpeta wordgrinder-0.5.2.1 extraída.

make
sudo make install PREFIX=/usr

Alistair y Matthew proporcionaron más información útil aquí de lo que pude encontrar en cualquier número de foros y listas de correo.