Respuestas:
Así es como logré compilar pescado en Cygwin.
Primero, asegúrese de tener los siguientes paquetes de cygwin:
libncurses-devel
libiconv
autoconf
(no es realmente una dependencia del pescado, pero lo necesitamos para un paso posterior)Luego, descargue la última fuente de http://fishshell.com (utilicé fish-1.23.1.tar.gz ). Extraiga la fuente a su directorio de elección y cd a él:
$ tar zxvf fish-1.23.1.tar.gz -C /usr/local/src/
$ cd /usr/local/src/fish-1.23.1/
configure.ac
para eliminar cheques paraiconv
Ahora por alguna razón, ./configure
no se puede detectar libiconv
correctamente. Para solucionar el problema, eliminamos la verificación (especificaremos la lib manualmente más adelante). Para hacerlo, editamos configure.ac
y eliminamos cheques para iconv_open
. La búsqueda iconv_open
revela 3 ocurrencias; Los comentamos a todos. Entonces, de:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
Cambiamos a:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
./configure
A continuación, reconstruimos el ./configure
script ejecutando y autoconf
luego ejecutamos el script de configuración:
$ autoconf && ./configure
Makefile
para incluir la ruta correcta acurses.h
Otro problema al que me enfrenté fue curses.h
: gcc no pudo encontrarlo. Una búsqueda rápida reveló que está dentro /usr/include/ncurses
.
El Makefile
tiene una trayectoria para hardcoded incluyen en CFLAGS
, pero señala que /usr/local/include/ncurses
en su lugar.
Entonces, editamos Makefile
y cambiamos:
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
a
CFLAGS = -I/usr/include/ncurses -std=c99 ...
LDFLAGS
para vincular libiconv
, y estamos listos para compilar / instalar.Finalmente, exportamos lo necesario LDFLAGS
para vincular iconv
, luego compilamos e instalamos.
$ export LDFLAGS="-liconv"
$ make && make install
fish
$ fish
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
me@home /u/l/s/fish-1.23.1>
translate_color': set_color.c:116: warning: implicit declaration of function
strcasecmp 'set_color.c: En la función main': set_color.c:333: error:
ERR' no declarado (primer uso en esta función)
libncurses-devel
y cambiado la -I
ruta cambiada en el `Makefile (paso 5)?
curses.h
no se incluye ( ERR
se define allí). ¿Puedes echar un vistazo /usr/include/ncurses/
y ver si está allí?
Verifique los problemas de pescado # 680 y # 319 en GitHub, hay todo lo que necesita para compilar pescado en cygwin.
#define HAVE_NCURSES_H 1
el archivo de encabezado generadoconfig.h
(por las mismas razones indicadas anteriormente)