¿Es posible usar la concha de pescado con cygwin? No pude compilar la fuente en cygwin, y no encontré ningún paquete precompilado. ¿Hay una buena razón para no tener peces en Cygwin?
fish shell 2.1.0 ahora es oficialmente compatible con Cygwin, es posible instalarlo utilizando el instalador predeterminado.
Así es como logré compilar pescado en Cygwin.
Primero, asegúrese de tener los siguientes paquetes de cygwin:
libncurses-devellibiconvautoconf (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.acpara eliminar cheques paraiconvAhora por alguna razón, ./configureno se puede detectar libiconvcorrectamente. Para solucionar el problema, eliminamos la verificación (especificaremos la lib manualmente más adelante). Para hacerlo, editamos configure.acy eliminamos cheques para iconv_open. La búsqueda iconv_openrevela 3 ocurrencias; Los comentamos a todos. Entonces, de:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
Cambiamos a:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
./configureA continuación, reconstruimos el ./configurescript ejecutando y autoconfluego ejecutamos el script de configuración:
$ autoconf && ./configure
Makefilepara incluir la ruta correcta acurses.hOtro 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 Makefiletiene una trayectoria para hardcoded incluyen en CFLAGS, pero señala que /usr/local/include/ncursesen su lugar.
Entonces, editamos Makefiley cambiamos:
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
a
CFLAGS = -I/usr/include/ncurses -std=c99 ...
LDFLAGSpara vincular libiconv, y estamos listos para compilar / instalar.Finalmente, exportamos lo necesario LDFLAGSpara 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>
#define HAVE_NCURSES_H 1el archivo de encabezado generadoconfig.h(por las mismas razones indicadas anteriormente)translate_color': set_color.c:116: warning: implicit declaration of functionstrcasecmp 'set_color.c: En la funciónmain': set_color.c:333: error:ERR' no declarado (primer uso en esta función)libncurses-devely cambiado la-Iruta cambiada en el `Makefile (paso 5)?curses.hno se incluye (ERRse 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.
fuente