Building Fish 2.0 shell under Cygwin

1

1

I wanted to have a fish shell under my cygwin instance and I wanted it so bad that I've event tried to build it but with no luck.

I've gone through all the prerequisites like installing autoconf, clang, ncurses and other needed stuff.

autoconf and ./configure went all good, but when I try make, the code won't compile.

I've seen that there is another thread on this but it's for the older version 1.23.

So did anyone get this up and running?

Here's the errors from my build:

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 

almendar

Posted 2013-06-13T12:40:09.983

Reputation: 111

what version of windows are you on? Which version of cygwin are you using? – None – 2013-06-13T13:06:14.893

This is an interesting question, the instructions provided below did not work whilst attempting to compile on a cygwin instance. Can we get a comprehensive list of steps and dependencies that are needed to make this work and move through the entire process? – ylluminate – 2013-06-15T23:22:46.487

Answers

2

@Yaakov's proposal is actually quite close, but to compile fish 2.0 successfully you would need to comment/remove offending line from fallback.h and invoke configuration with:

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

after which you should be able to make and make install

lukasz-wolski

Posted 2013-06-13T12:40:09.983

Reputation: 21

0

You got a false negative in a configure test because <term.h> was not found; you need to pass CPPFLAGS=-I/usr/include/ncurses as an argument to configure to get this to work.

Yaakov

Posted 2013-06-13T12:40:09.983

Reputation: 733