Estou tentando compilar o i3 versão 4.14.1 no Cygwin 2.884 (Windows 7). Instalei a biblioteca libiconv necessária por meio da configuração do Cygwin, mas ao executar ./configure recebo este erro:
configure: error: in `/home/msamec/Downloads/i3-4.14.1/x86_64-unknown cygwin':
configure: error: cannot find the required iconv_open() function despite trying
to link with -liconv
See `config.log' for more details
Alguma pista do que posso fazer para ajudá-lo a encontrar a biblioteca?
Tentei compilar a biblioteca libiconv-1.13.1 manualmente, mas encontrei alguns erros que não sei como resolver:
libtool: link: /bin/gcc -shared .libs/localcharset.o .libs/relocatable.o -o .libs/cygcharset-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libcharset.dll.a
.libs/relocatable.o: In function `DllMain':
/home/msamec/Downloads/libiconv-1.13.1/libcharset/lib/./relocatable.c:324: undefined reference to `cygwin_conv_to_posix_path'
/home/msamec/Downloads/libiconv-1.13.1/libcharset/lib/./relocatable.c:324:(.text+0x113): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `cygwin_conv_to_posix_path'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:59: libcharset.la] Error 1
make[2]: Leaving directory '/home/msamec/Downloads/libiconv-1.13.1/libcharset/lib'
make[1]: *** [Makefile:34: all] Error 2
make[1]: Leaving directory '/home/msamec/Downloads/libiconv-1.13.1/libcharset'
make: *** [Makefile:42: lib/localcharset.h] Error 2
Eu peguei o nome da função iconv_open () e o encontrei na pasta cygwin
/usr/i686-pc-cygwin/sys-root/usr/include/iconv.h
e também na pasta libiconv
/usr/include/iconv.h
Mas, por algum motivo, o script de configuração não consegue encontrá-lo.
Aqui está o meu config.log
Aqui está meu iconv.h https://gist.github.com/anonymous/0b117d1680954d591f989256b508bfc5
Eu verifiquei onde está este arquivo de biblioteca inconv.h localizado no Ubuntu. Unlinke no cygwin está em /lib/ enquanto no cygwin está aqui /usr/include/. Tentei copiar a biblioteca para esse local, mas também não ajudou. Também consegui reproduzir o problema no meu Windows 10 doméstico.
EDIT: Aqui está o arquivo de configuração que estou usando: insira a descrição do link aqui
O teste está falhando como
está procurando
iconv_open
na bibliotecalibiconv
, erroneamente. O código de teste deve usar o fornecido/usr/include/iconv.h
onde houver ume a biblioteca cygwin
libiconv
exporta:o símbolo
libiconv_open
. Você precisa corrigir o teste para usariconv.h
.O teste é definido em
configure.ac
uma possível solução alternativa é alterá-lo para algo que teste as duas opções.
Isenção de responsabilidade: não testado e você precisa executar
autoreconf
para reconstruirconfigure