Como usar o fish shell no cygwin?

15

É possível usar a casca do peixe com o cygwin? Não consegui compilar o código-fonte no cygwin e não encontrei nenhum pacote pré-compilado. Existe uma boa razão para não ter peixe no cygwin?

    
por muriloq 26.08.2011 / 16:03

3 respostas

23
O

fish shell 2.1.0 agora é oficialmente suportado no Cygwin, é possível instalá-lo usando o instalador padrão.

    
por 24.01.2014 / 14:19
15

Veja como consegui compilar o peixe no Cygwin.

Passo 1: Verifique se todas as dependências estão instaladas

Primeiro, verifique se temos os seguintes pacotes do cygwin:

  • libncurses-devel
  • libiconv
  • autoconf (não é realmente uma dependência de peixe, mas precisamos disso para uma etapa posterior)

Etapa 2: faça o download e extraia a fonte mais recente

Em seguida, faça o download da fonte mais recente do link (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/

Etapa 3: edite configure.ac para remover verificações de iconv

Agora, por algum motivo, ./configure não pode detectar libiconv corretamente. Para contornar o problema, removemos a verificação (especificaremos a lib manualmente mais tarde). Para isso, editamos configure.ac e removemos as verificações de 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, ....)

Etapa 4: reconstruir e executar ./configure

Em seguida, reconstruímos o script ./configure executando autoconf e, em seguida, executamos o script de configuração:

$ autoconf && ./configure

Etapa 5: edite Makefile para incluir o caminho correto para curses.h

Outro problema que enfrentei foi o 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 .

Então, editamos Makefile e alteramos:

CFLAGS = -I/usr/local/include/ncurses -std=c99 ....

para

CFLAGS = -I/usr/include/ncurses -std=c99 ...

Etapa 6: exporte LDFLAGS para vincular em libiconv e estamos prontos para compilar / instalar.

Por fim, exportamos o LDFLAGS necessário para vincular em iconv , depois compile e instale!

$ export LDFLAGS="-liconv"
$ make && make install

Aproveite 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> 
    
por 26.08.2011 / 17:41
0

Verifique os problemas com os peixes # 680 e # 319 no GitHub, há tudo o que você precisa para compilar peixes no cygwin.

    
por 14.10.2013 / 16:26

Tags