After installing (with pkg) and starting the fish shell, the only output is: "fish:" Although it is possible to type, no command is accepted and it is not possible to exit the shell with `exit` or CTRL+d. I could reproduce this with FreeBSD 10.1 on a AMD64 and i386 installation.
Someone already reported this upstream: https://github.com/fish-shell/fish-shell/issues/1741 Seems to be fixed in HEAD of the GitHub repository.
Fix Summary and notify maintainer.
shell/fish should be marked as broken because of missing WCHAR_T support in libiconv, according to the comments on Github. I ran into the same issue.
Created attachment 151784 [details] diff -ruN output
Created attachment 151788 [details] patch to fish to use alternative types
So the problem AFAIK is that between 10.0 and 10.1, 'WCHAR_T' was removed as encoding alias in revision 260249 (https://svnweb.freebsd.org/base?view=revision&revision=260249). fish has some old (and probably wrong) code that breaks when that encoding is not available. This whole module is gone in development versions but a new release is still not around the corner so I have attached a patch which requests a different encoding (which is probably more accurate); you can give that a go too.
(In reply to David Adam from comment #6) This patch will resolve WCHAR_T issue. Sorry for the delays, David sent this to me earlier but due to certain bugzilla issues I could not sort it. Please commit this patch. Thanks everyone.
I've ran into the same issue that Jochen explained before. I can confirm that compiling fish-shell HEAD (at the time of writing 1ff9aba6b18bd49295cf30de2a2ce7a11013c7cf) does indeed solve the problem.
Maintainer, are both patches needed to commit, and if so, can you approve both please. If not, please clarify.
I'm not the maintainer, only an upstream committer, but you only need one of the patches. The first is probably saner, but pulls in an additional dependency on some systems.
Looks good to me. Please commit these patches.
(In reply to freebsd.users from comment #11) Seems both are not required. Can you set the maintainer-approval flags to '+' for the one patch you would like committed please. Set - on the other.
Comment on attachment 151788 [details] patch to fish to use alternative types +
Comment on attachment 151784 [details] diff -ruN output -
The patch is working for me. I only applied the first one.
Comment on attachment 151784 [details] diff -ruN output Maintainer added a comment (-) instead of changing the 'maintainer-approval' field/flag. Update flag to match intent.
Other than the fact that attachment 151788 [details] needs to be produced against the *ports tree* source, not the upstream source, the change is OK, and approved.
A commit references this bug: Author: koobs Date: Sat Apr 18 13:20:53 UTC 2015 New revision: 384226 URL: https://svnweb.freebsd.org/changeset/ports/384226 Log: shells/fish: Fix for hangs on FreeBSD 10.1+ Fix for hangs on FreeBSD 10.1+ due to WCHAR_T missing as an alias for UCS-4-INTERNAL. [1] https://github.com/fish-shell/fish-shell/issues/1741 PR: 196661 Submitted by: David Adam <zanchey ucc.gu.uwa.edu.au> Approved by: maintainer <freebsd.users gmail com> Changes: head/shells/fish/Makefile head/shells/fish/files/patch-env__universal__common.cpp
Committed, thank you all