如何从源代码构建包?

时间:2016-07-26 21:23:16

标签: bash makefile build

我在工作的Windows 7计算机上工作,并希望使用libpostal包。不幸的是,它显然不适用于Windows,因此我尝试通过Cygwin进行配置,并且我很接近。最后一步是从Google安装snappy。再次,在Windows上不可用...

我的假设(基于什么都没有)是我可以下载tarball并从源代码构建它,对吧?我试过了,我觉得它有用吗?但是a)我不知道如何辨别,b)如果确实如此,我不知道如何告诉./configure libpostal找到它。

为了从源代码构建它,我下载了tarball并将其保存在Cygwin读取的文件夹中,即C:\cygwin64\home\brittenb\。从那里开始,我运行bash autogen.sh,创建了我需要的./configure。所以我跑了那个,虽然对支票的一些反应是没有的,但似乎运行正常。然后我运行了makemake install。似乎没有什么不合适的地方,所以我的假设是它做了应该做的事情。我不知道从哪里开始。

以下是我运行所有内容后ls的输出:

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没有显示任何内容,但ls /usr/local/include显示:

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

所以...我的问题:它有效吗?为什么./configure中的libpostal表示无法找到snappy?提前谢谢。

2 个答案:

答案 0 :(得分:0)

检查make install($?)的返回码。如果为零,则make install suceeded。

snappy看起来像一个库,所以也许它不会在/ usr / local / bin中安装任何东西。该库可能安装在/ usr / local / lib

答案 1 :(得分:0)

从版本1.0.0开始,snappy依赖项已被删除。我对源进行了更改并进行了make和config,以便它将在MinGW上构建。 在我的存储库中获取它: https://github.com/BenK10/libpostal_windows

请注意,这不是完整的来源,因为并非所有内容都必须更改。我建议将我的更改与官方的libpostal发行版合并,以确保你拥有所有内容。此外,在我尚未删除的一些源文件中还有一些额外的DLLEXPORT,并且Makefile中构建可执行文件(如address_parser.exe)的部分已被删除,因为需要一些移植来构建这些程序。视窗。您可以使用Windows构建中获得的DLL和原始源作为参考来编写自己的。

相关问题