Respostas:
Veja como consegui compilar peixe em Cygwin.
Primeiro, certifique-se de que temos os seguintes pacotes do cygwin:
libncurses-devellibiconvautoconf (não é realmente uma dependência de peixe, mas precisamos disso para uma etapa posterior) Em seguida, baixe a última fonte de http://fishshell.com (Eu usei fish-1.23.1.tar.gz ). Extraia a fonte para o seu diretório de escolha e cd para ele:
$ tar zxvf fish-1.23.1.tar.gz -C /usr/local/src/
$ cd /usr/local/src/fish-1.23.1/
configure.ac para remover cheques para iconv Agora, por algum motivo, ./configure não pode detectar libiconv devidamente. Para contornar o problema, removemos a verificação (especificaremos a lib manualmente mais tarde). Para isso, editamos configure.ac e remova cheques para iconv_open. Procurando por iconv_open revela 3 ocorrências; nós comentamos todos eles. Então, de:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
Nós mudamos para:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
./configure Em seguida, reconstruímos o ./configure roteiro executando autoconf então execute o script de configuração:
$ autoconf && ./configure
Makefile para incluir o caminho correto para curses.h Outro problema que enfrentei foi com curses.h - O gcc não conseguiu encontrá-lo. Uma pesquisa rápida revelou que está em /usr/include/ncurses.
o Makefile tem um caminho de inclusão codificado para ele em CFLAGS, mas aponta para /usr/local/include/ncurses em vez de.
Então, nós editamos Makefile e mude:
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
para
CFLAGS = -I/usr/include/ncurses -std=c99 ...
LDFLAGS para ligar libiconve estamos prontos para compilar / instalar. Finalmente, exportamos o necessário LDFLAGS para ligar iconv, então compile e instale!
$ 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: Na função main': set_color.c:333: error: ERR 'não declarado (primeiro uso nesta função)
libncurses-devel e mudou o mudou o -I caminho no `Makefile (passo 5)?
curses.h não está sendo incluído ( ERR está definido lá). Você pode dar uma espiada /usr/include/ncurses/ e ver se está aí?
Verifique os problemas dos peixes # 680 e # 319 no GitHub, há tudo o que você precisa para compilar peixes no cygwin.
#define HAVE_NCURSES_H 1no arquivo de cabeçalho geradoconfig.h(pelas mesmas razões declaradas acima)