2016-07-26 14 views
5

Ich arbeite an einem Windows 7-Computer bei der Arbeit und möchte das libpostal Paket verwenden. Leider ist es anscheinend nicht für Windows verfügbar, also versuche ich es über Cygwin zu konfigurieren und ich bin SO nah dran. Der letzte Schritt besteht darin, snappy von Google zu installieren. Wiederum nicht verfügbar unter Windows ...Wie erstellt man ein Paket von der Quelle?

Meine Annahme (basierend auf nichts) ist, dass ich nur den Tarball herunterladen und aus der Quelle erstellen kann, oder? Ich habe das versucht, und ich denke, es hat funktioniert? Aber a) Ich weiß nicht, wie ich es sagen soll, und b) wenn es passiert, kann ich ./configure in libpostal nicht finden, um es zu finden.

Um es aus der Quelle zu erstellen, habe ich den Tarball heruntergeladen und in dem Ordner gespeichert, den Cygwin als mein Zuhause liest, nämlich C:\cygwin64\home\brittenb\. Von dort lief ich bash autogen.sh, die die ./configure, die ich brauchte, erstellt. Also lief ich das und während einige Antworten auf die Kontrollen nein waren, schien es gut zu laufen. Ich lief dann make und make install. Nichts schien fehl am Platz zu sein, also meine Annahme ist, dass es getan hat, was es tun sollte. Ich habe keine Ahnung, wohin ich von hier aus gehen soll. Hier

ist die Ausgabe von ls, nachdem ich alles laufen:

aclocal.m4    snappy.cc 
AUTHORS     snappy.h 
autogen.sh    snappy.lo 
autom4te.cache   snappy.o 
ChangeLog    snappy.pc 
compile     snappy.pc.in 
config.guess   snappy_unittest.cc 
config.h    snappy_unittest.exe 
config.h.in    snappy_unittest-snappy_unittest.o 
config.log    snappy_unittest-snappy-test.o 
config.status   snappy-c.cc 
config.sub    snappy-c.h 
configure    snappy-c.lo 
configure.ac   snappy-c.o 
COPYING     snappy-internal.h 
depcomp     snappy-sinksource.cc 
format_description.txt snappy-sinksource.h 
framing_format.txt  snappy-sinksource.lo 
INSTALL     snappy-sinksource.o 
install-sh    snappy-stubs-internal.cc 
libsnappy.la   snappy-stubs-internal.h 
libtool     snappy-stubs-internal.lo 
ltmain.sh    snappy-stubs-internal.o 
m4      snappy-stubs-public.h 
Makefile    snappy-stubs-public.h.in 
Makefile.am    snappy-test.cc 
Makefile.in    snappy-test.h 
missing     stamp-h1 
NEWS     testdata 
README     test-driver 

ls /usr/local/bin zeigt nichts, aber ls /usr/local/include zeigt:

snappy.h snappy-c.h snappy-sinksource.h snappy-stubs-public.h 

Also ... meine Frage: hat es funktioniert? Warum kann ./configure in libpostal sagen, dass es snappy nicht finden kann? Danke im Voraus.

+0

Haben Sie dies auf Windows zu bauen? Wenn ja, bitte teilen :) – Jeremy

+0

Leider habe ich nicht. Meine Annahme ist, dass es nur weil ich keine Administratorrechte auf meinem Computer habe, aber ich kann mir nicht sicher sein. – brittenb

+0

Ich werde es versuchen! – Jeremy

Antwort

0

Überprüfen Sie den Rückkehrcode von make install ($?). Wenn es Null ist, installiere erfolgreich.

bissig sieht aus wie eine library, also vielleicht installiert es nichts in/usr/local/bin. Die Bibliothek ist wahrscheinlich in/usr/local/lib installiert

+0

Danke für den Vorschlag; Ich werde es überprüfen, sobald ich ins Büro komme. Angenommen, 'make install 'ist korrekt ausgeführt worden, wie kann ich sicherstellen, dass' libpostal 'es finden kann? Kopiere ich einfach alle Dateien von '/ usr/local/lib' an einen anderen Ort und mache das gleiche mit den Dateien in' usr/local/share' und so weiter? – brittenb

+0

libpostal sucht automatisch in/usr/local/lib so sollte es funktionieren. – arved

+0

Meine Annahme ist dann, dass ich gerade über meinem Kopf bin. Ich dachte, ich hätte alles richtig gemacht, weil 'echo $?' '0' zurück gab.Ich habe alle Dateien aus den lokalen 'lib',' include' und 'share/doc' Ordnern in das' usr/'Äquivalent kopiert und dann versucht,' ./configure' für libpostal auszuführen. Es läuft alles bis zum Ende, wenn es heißt 'checking for library containing snappy_compress ... no '. Von dem, was ich online sammeln könnte, sollte es eine 'libsnappy.dll.a'-Datei geben, die zusätzlich zu' libsnappy.a' erstellt wird. Ist das korrekt? – brittenb

0

Die snappy-Abhängigkeit wurde ab Release 1.0.0 entfernt. Ich habe Änderungen an der Quelle und make und config vorgenommen, so dass es auf MinGW aufbauen wird. Holen Sie es in meinem Repository: https://github.com/BenK10/libpostal_windows

Beachten Sie, dass dies nicht die vollständige Quelle ist da nicht alles verändert werden musste. Ich würde vorschlagen, meine Änderungen mit der offiziellen libpostal-Verteilung zusammenzuführen, um sicherzustellen, dass Sie alles haben. Außerdem gibt es einige zusätzliche DLLEXPORT s in einigen Quelldateien, die ich noch nicht entfernt habe, und der Teil im Makefile, der die ausführbaren Dateien wie address_parser.exe erstellt, wurde entfernt, da einige Portierungen erforderlich sind, um diese Programme unter Windows zu erstellen. Sie können Ihre eigenen schreiben, indem Sie die DLL, die Sie in der Windows-Version erhalten, und die Originalquelle als Referenz verwenden.