Fish Shell 2.1.0 wird nun offiziell in Cygwin unterstützt. Es ist möglich, es mit dem Standardinstallationsprogramm zu installieren.
Wie benutzt man Fish Shell in Cygwin?
Kann man die Fischmuschel mit cygwin verwenden? Ich konnte die Quelle in cygwin nicht kompilieren, und ich habe keine vorkompilierten Pakete gefunden. Gibt es einen guten Grund dafür, keinen Fisch in cygwin zu haben?
3 Antworten auf die Frage
So habe ich es geschafft, Fische in Cygwin zu kompilieren .
Schritt 1: Prüfen Sie, ob alle Abhängigkeiten installiert sind
Stellen Sie zunächst sicher, dass wir die folgenden cygwin-Pakete haben:
libncurses-devel
libiconv
autoconf
(nicht wirklich eine Abhängigkeit von Fisch, aber wir brauchen es für einen späteren Schritt)
Schritt 2: Laden Sie die neueste Quelle herunter und extrahieren Sie sie
Laden Sie als Nächstes die neueste Quelle von http://fishshell.com herunter (ich habe fish-1.23.1.tar.gz verwendet ). Extrahieren Sie die Quelle in das gewünschte Verzeichnis und cd:
$ tar zxvf fish-1.23.1.tar.gz -C /usr/local/src/ $ cd /usr/local/src/fish-1.23.1/
Schritt 3: Bearbeiten configure.ac
, um Überprüfungen zu entferneniconv
Jetzt aus irgendeinem Grund ./configure
nicht libiconv
richtig erkennen . Um das Problem zu umgehen, entfernen wir die Prüfung dafür (wir geben die Bibliothek später manuell an). Dazu bearbeiten configure.ac
und entfernen wir Checks für iconv_open
. Die Suche nach iconv_open
enthüllt 3 Vorkommen; wir kommentieren sie alle aus. Also von:
AC_SEARCH_LIBS( iconv_open, iconv, ....)
Wir wechseln zu:
#AC_SEARCH_LIBS( iconv_open, iconv, ....)
Schritt 4: Wiederherstellen und ausführen ./configure
Als Nächstes erstellen wir das ./configure
Skript neu, indem wir autoconf
das Konfigurationsskript ausführen und dann ausführen:
$ autoconf && ./configure
Schritt 5: Bearbeiten Sie Makefile
den korrekten Pfadcurses.h
Ein anderes Problem, mit dem ich konfrontiert war, war curses.h
- Gcc konnte es nicht finden. Eine schnelle Suche ergab, dass es sich um /usr/include/ncurses
.
Das Makefile
enthält einen fest codierten Include-Pfad CFLAGS
, zeigt aber /usr/local/include/ncurses
stattdessen auf.
Also bearbeiten Makefile
und ändern wir :
CFLAGS = -I/usr/local/include/ncurses -std=c99 ....
zu
CFLAGS = -I/usr/include/ncurses -std=c99 ...
Schritt 6: Exportieren Sie LDFLAGS
den Link libiconv
, und wir können ihn kompilieren / installieren.
Zum Schluss exportieren wir die nötigen LDFLAGS
Links iconv
, kompilieren und installieren!
$ export LDFLAGS="-liconv" $ make && make install
Genießen 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>
Überprüfen Sie die Fischausgaben Nr. 680 und Nr. 319 in GitHub. Dort finden Sie alles, was Sie zum Zusammenstellen von Fisch auf Cygwin benötigen.
Verwandte Probleme
-
4
Cygwin-Eingabeaufforderung ändern
-
3
Cygwin tragbar?
-
1
Wenn X X über Cygwin remote ausgeführt wird, sind meine Zeichensätze hässlich
-
4
Die beste Möglichkeit, Linux-Befehlszeilen-Tools unter Windows zu erhalten
-
2
Wie kann ich meine MacOS X-Terminal-Tastenzuordnungen vollständig mit meinen Windows XP-Tastenzuordn...
-
6
Wie kann ich feststellen, wann ich mich bei Windows angemeldet habe?
-
2
Wie kann ich cygwin / bin in Windows XP zum Suchpfad hinzufügen?
-
1
So richten Sie Ssh / Sshd für die schlüsselbasierte Anmeldung unter Cygwin (Vista) mit StrictModes e...
-
7
Cygwin alternativ für Windows?
-
3
Cygwin unter Windows 7 x64