WordGrinder kann nicht auf Yosemite installiert werden

Vor kurzem habe ich versucht, WordGrinder auf Yosemite zu installieren. Zuerst habe ich versucht, die neuesten Tar-Pakete von der Entwickler-Website zu bekommen und sie zu verwenden, aber ich bin auf einige Bibliotheksverknüpfungsfehler mit luaund gestoßen ncursesw. Ich habe versucht, MacPorts zu verwenden, weil ich annahm, dass es all das für mich tun würde, aber es stellte sich heraus, dass die Probleme, auf die ich zuerst stieß, nur Verwirrung waren, die von einigen früheren schmutzigen MacPorts-Installationen übrig geblieben war - ich rannte und diese verschwanden port selfupdate. Nach noch mehr Schwierigkeiten mit MacPorts beschloss ich, das Bauen aus dem Quellcode zu überdenken. Aber jetzt, wenn ich benutze make, erhalte ich die folgende Reihe von Fehlern:

Maat:wordgrinder-0.5.1 Matt$ machen
CC .obj/release/src/c/arch/unix/cursesw/dpy.o
Fehler: Ausgabedatei '.obj/release/src/c/arch/unix/cursesw/dpy.o' kann nicht geöffnet werden: 'Fehler beim Öffnen der Ausgabedatei '.obj/release/src/c/arch/unix/cursesw/dpy .o': Berechtigung verweigert'
1 Fehler generiert.
make: *** [.obj/release/src/c/arch/unix/cursesw/dpy.o] Fehler 1
Maat:wordgrinder-0.5.1 Matt$ sudo make
CC .obj/release/src/c/arch/unix/cursesw/dpy.o
src/c/arch/unix/cursesw/dpy.c:164:8: Fehler: Verwendung des nicht deklarierten Bezeichners „KEY_EVENT“
                Fall KEY_EVENT: "KEY_EVENT" zurückgeben;
                     ^
1 Fehler generiert.
make: *** [.obj/release/src/c/arch/unix/cursesw/dpy.o] Fehler 1
Maat:wordgrinder-0.5.1 Matt$

Zuerst muss ich verwenden sudo, um den Compiler dazu zu bringen, auf die Ausgabedatei zuzugreifen (ich glaube nicht, dass ich das tun sollte, aber nicht das Hauptproblem), und dann, wenn ich das tue, stoße ich auf die andere , über das " use of undeclared identifier 'KEY_EVENT'". Ich bin das Makefile und die README.Unix mehrmals durchgegangen, aber ich kann es nicht verstehen. Ich habe in einem anderen, nicht zusammenhängenden Problem mit der Installation von WordGrinder unter OS X gelesen, dass „das Bauen auf dem Mac ein Schwein ist“, und jetzt kann ich nicht anders, als zuzustimmen. Was läuft schief und wie kann ich WordGrinder dazu bringen, richtig unter OS X zu installieren?

BEARBEITEN 3: Am Ende habe ich meine verschlungenen /usr/local- und /opt-Ordner gelöscht und einen großen Teil meines Dateisystems neu organisiert. Ich habe Homebrew auf der von mir erstellten sauberen Tafel installiert und dann lua und Homebrew/dupes/ncurses mit Homebrew gemäß den Schritten installiert, die Alistair in seiner Antwort aufgeführt hat. Ich habe dann Wordgrinder-0.5.2.1 anstelle von Wordgrinder-0.5.1 heruntergeladen, weil 0.5.2.1 Homebrew-Installationsunterstützung hinzugefügt hatte. Keine Probleme mehr mit der Backspace-Taste. An diesem Punkt wordgrinder-staticwürde laufen, aber wordgrindernicht (wiederum, wie Alistair berichtete). Die Installation von luafilesystem erlaubte wordgrinderdie Ausführung, wie ich in einer früheren Überarbeitung dieser Antwort vorhergesagt hatte. Ich habe Homebrew verwendet, um luarocks in meinem Keller ( brew install luarocks) zu installieren, und dann luarocks verwendet, um luafileystem in meinem Verzeichnis /usr/local/lib/luarocks/rocks zu installieren.wordgrinder läuft jetzt einwandfrei, ohne probleme.

Vielen Dank an Alistair für all die Hilfe. Ich habe bei dem Versuch, dies zum Laufen zu bringen, viel mehr gelernt, als ich bereits getan habe, und kann den Rest möglicherweise selbst übernehmen - wie ich bereits sagte, werde ich meine Ergebnisse hier dokumentieren, sobald ich sie habe.

Antworten (2)

UPDATE: Wie unten von Matthew ausgeführt, bietet die kürzlich veröffentlichte Version 0.5.2.1 jetzt eine bessere Unterstützung für OS X und Brew, also laden Sie wordgrinder-0.5.2.1.tar.bz2 herunter und extrahieren Sie es von http://sourceforge.net/projects/wordgrinder /files/wordgrinder/ und das Ausführen makesollte funktionieren. Die einzige Abhängigkeit, die Sie jetzt über brew installieren müssen, scheint lua zu sein, also brew install luazuerst, wenn Sie lua nicht bereits installiert haben.

ORIGINAL: So habe ich es mit der vorherigen Version zum Laufen gebracht...

  • Heruntergeladen und extrahiert die Datei wordgrinder-0.5.1.tar.bz2 von http://sourceforge.net/projects/wordgrinder/files/wordgrinder/
  • Benutzte Brew , um Lua zu installieren:brew install lua
  • Benutzte Brew, um Ncurses von Homebrew-Dupes zu installieren:brew install homebrew/dupes/ncurses
  • Folgende Änderungen am Makefile vorgenommen. Sie können die geänderte Datei hier herunterladen .
    • Definition von z_crc_t hinzugefügt
    • modifizierte LDFLAGS, damit es Bibliotheken finden kann, die durch Brew installiert wurden
    • modifizierte CPPFLAGS und INCLUDES, damit es Include-Dateien finden kann, die durch Brew installiert wurden
    • modifizierte ldflags, weil es nach „lua5.2“ sucht, aber die Bibliothek auf OS X heißt „lua.5.2“
  • Ran makewas mit diesen Änderungen ok läuft. bin/wordgrinderstürzt sofort ab, bin/wordgrinder-staticscheint aber gut zu laufen.
  • 'sudo make install' schlägt fehl, also habe ich einfach wordgrinder-static nach kopiert /usr/local/binund es scheint dort erfolgreich zu funktionieren.
Können Sie uns genau sagen, was Sie tun? Du lädst die Quelle herunter (ich nehme an, in deinen Downloads-Ordner), entpackst sie, cd hinein, tippst ein makeund erhälst Fehlermeldungen, bei denen die Berechtigung verweigert wird?
Genau das mache ich. Tut mir leid, aber wenn Sie sich noch nicht versammelt haben, bin ich (relativ, nicht ganz) neu im Erstellen und Installieren aus dem Quellcode.
Entschuldigung, ich bin verwirrter, warum make bei Ihnen nicht funktioniert, als alles andere. Wo legen Sie die aus wordgrinder-0.5.1.tar.bz2 extrahierten Quelldateien ab?
Ich habe auf meinem Desktop einen Ordner namens temp. In diesem Ordner befindet sich meine Kopie von wordgrinder-0.5.1.bz2 und ein Ordner namens wordgrinder-0.5.1. Der letzte Ordner, den ich erwähnt habe, ist der Ort, an dem die aus dem bz2 extrahierten Dateien gespeichert sind und von dem aus ich make ausführe.
Wenn Sie in Terminal in diesen Wordgrinder-0.5.1-Ordner gehen und eingeben, ls -alwie sehen die Berechtigungen aus? Alle Ordner sollten drwxr-xr-x@(für diejenigen, die aus dem Download stammen) oder drwxr-xr-x(für diejenigen, die von make erstellt wurden) und alle Dateien sollten -rw-r--r--@.
Alle Berechtigungen im Ordner sind in Ordnung, wie Sie sagten. Alles, was beim Ausführen makeanscheinend erstellt wurde, war ein Verzeichnis namens .obj(und verschiedene Inhalte) mit der Berechtigung 755 und ohne Quarantäne-Flag (wie erwartet). Außerdem gibt es keine Probleme mit Berechtigungen, wenn ich makemit dem geänderten Makefile laufe. Ich bin mir ziemlich sicher, dass die meisten Probleme, die ich habe, mit meinen wackeligen/redundanten Installationen von ncursesund zusammenhängen lua. Ich muss ein paar Dinge deinstallieren und dann richtig neu installieren.
Was erhalten Sie, wenn Sie echo $PATHin ein Terminalfenster eingeben?
Das modifizierte Makefile ist jetzt unnötig - Wordgrinder-0.5.2.1 fügte Unterstützung für Homebrew-Installationen hinzu und behob anscheinend einige andere Probleme, die ich hatte.

Basierend auf den Informationen, die Alistair und Matthew bereits bereitgestellt haben, war ich in der Lage, Wordgrinder sowohl unter Mavericks als auch unter Yosemite durch eine Kombination der beiden von ihm beschriebenen Methoden zu installieren. Tatsächlich konnte ich wordgrinder ausführen, nicht nur wordgrinder-static. Schritte zum Reproduzieren:

brew install lua
brew install Homebrew/dupes/ncurses
brew install luarocks
brew install zlib
luarocks install luafilesystem

und dann im extrahierten Ordner wordgrinder-0.5.2.1.

make
sudo make install PREFIX=/usr

Alistair und Matthew haben hier mehr nützliche Informationen bereitgestellt, als ich in irgendeiner Anzahl von Foren und Mailinglisten finden konnte.