1

Я хотел иметь рыбную раковину под своим экземпляром Cygwin, и я хотел, чтобы это так сильно, что я пытался построить его, но безуспешно.

Я прошел все предварительные условия, такие как установка autoconf, clang, ncurses и других необходимых вещей.

autoconf и ./configure прошли хорошо, но когда я попробую make , код не скомпилируется.

Я видел, что есть еще один поток по этому вопросу, но это для более старой версии 1.23.

Так кто-нибудь получил это и работает?

Вот ошибки из моей сборки:

g++ -g -O2 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fno-exceptions -Wall -DLOCALEDIR=\"/usr/local/share/locale\" -DPREFIX=L\"/usr/local\" -DDATADIR=L\"/usr/local/share\" -DSYSCONFDIR=L\"/usr/local/etc\" -DBINDIR=L\"/usr/local/bin\"    -c -o builtin.o builtin.cpp
In file included from builtin_set_color.cpp:13:0,
             from builtin.cpp:397:
fallback.h:97:7: error: previous declaration of ‘char* tparm_solaris_kludge(char*, ...)’ with ‘C++’ linkage
/usr/include/ncurses.h:820:63: error: conflicts with new declaration with ‘C’ linkage
<builtin>: recipe for target `builtin.o' failed
make: *** [builtin.o] Error 

2 ответа2

2

Предложение @ Yaakov на самом деле довольно близко, но для успешной компиляции fish 2.0 вам нужно будет закомментировать / удалить ошибочную строку из fallback.h и вызвать конфигурацию с помощью:

./configure CXXFLAGS='-I/usr/include -I/usr/include/ncursesw'

после чего вы сможете make и make install

0

Вы получили ложный отрицательный результат в тесте конфигурации, потому что <term.h> не был найден; вам нужно передать CPPFLAGS=-I/usr/include/ncurses в качестве аргумента для настройки, чтобы заставить это работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .