编译Apache Lucy

时间:2016-05-31 06:58:06

标签: c gcc makefile include apache-lucy

我正在尝试编译Apache Lucy。以下是我遵循的步骤:

  1. 下载露西和小丑鱼
  2. 编译的Clownfish运行时和编译器
  3. 配置露西
  4. 启动Lucy Make
  5. 核心目录中的文件编译工作正常,但当它到达模块时会抛出错误:

    $ make gcc -pedantic -Wall -Wextra -Wno-variadic-macros -std=gnu99 -D_GNU_SOURCE -D CFP_LUCY -D CFP_TESTLUCY -fvisibility=hidden -O2 -g -fno-strict-aliasing -fPIC -I . -I ../core -I autogen/include -I ../modules/analysis/snowstem/source/include -I ../modules/unicode/ucd -I ../modules/unicode/utf8proc -c ../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.c -o ../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.o ../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.c:4:35: fatal error: ../include/libstemmer.h: No such file or directory #include "../include/libstemmer.h" ^ compilation terminated. make: *** [../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.o] Error 1

    问题似乎是模块中的代码文件包含具有相对路径的包含文件,如#include "../include/libstemmer.h"。即使生成的目录包含在包含文件目录中,即 - I ../modules/analysis/snowstem/source/include但它不起作用

    我开始修改源文件以删除相对路径但更多的是开始裁剪。我认为必须有更好的方法。任何有关如何解决这个问题的帮助都会非常有用。

3 个答案:

答案 0 :(得分:0)

如果你只做cpan Lucy :: Simple就足够了

答案 1 :(得分:0)

在我看来,还没有可用的C库。 以上链接是旧的(2012年),但解释了为什么它不明显。

http://grokbase.com/t/lucy/user/12bp9rw0g7/lucy-user-using-lucy-directly-from-c

答案 2 :(得分:0)

https://github.com/cancerberoSgx/lucy.js/blob/master/scripts/build-lucy-c.sh

这是一个shell脚本,它将克隆lucy .git和依赖项,编译lucy c和clownfish C它们然后编译并运行其中一个lucy / samples / c

它在文件夹中本地完成,因此您不必以root身份全局安装任何内容。你需要linux buildtools,如gcc,make,configure等。祝你好运