预先构建的Recoll 1.20.1-无法识别configure.ac-'./configure'和'make'无法正常工作


1

我正在尝试在Ubuntu 14.04上安装最新版本的Recoll(1.20.1)。

我已经从开发人员网站(位于“源”下)下载了tar文件,并将其复制到/usr/local/src通过tar -xvf recoll-1.20.1创建新文件夹提取的位置recoll-1.20.1。该文件夹包含以下文件和目录。

/usr/local/src/recoll-1.20.1$ dir
aspell          configure.ac  internfile         python      unac
autom4te.cache  COPYING       kde                qtgui       utils
bincimapmime    desktop       lib                query       VERSION
ChangeLog       doc           Makefile.in        rcldb
common          filters       makestaticdist.sh  README
config.log      index         mk                 recollinstall.in
configure       INSTALL       php                sampleconf

Recoll的安装指南说,只需使用make和进行安装make install,但是对我来说不起作用,尽管configure.ac在gedit中查看该文件对我来说还可以。

如果有人可以发布解决方案,那就太好了。这是我失败的解决方法的更多详细信息。

输入时,make我得到以下输出:

/usr/local/src/recoll-1.20.1$ make
make: *** No targets specified and no makefile found. Stop.

我试过了autoconf -v,这给了我下面的输出。

/usr/local/src/recoll-1.20.1$ autoconf -v
autoconf: running /usr/bin/autom4te -v --language=autoconf --output=configure configure.ac
autom4te: formatting traces for `/tmp/am4tr1Oufp/dependencies': include, m4_include
autom4te: up_to_date (autom4te.cache/traces.0): up to date
autom4te: the trace request object is:
autom4te: $VAR1 = bless( [
autom4te:                  '0',
autom4te:                  1,
autom4te:                  [
autom4te:                    '/usr/share/autoconf'
autom4te:                  ],
autom4te:                  [
autom4te:                    '/usr/share/autoconf/autoconf/autoconf.m4f',
autom4te:                    'configure.ac'
autom4te:                  ],
autom4te:                  {
autom4te:                    'AC_CANONICAL_SYSTEM' => 1,
autom4te:                    'AC_INIT' => 1,
autom4te:                    'AC_DEFINE_TRACE_LITERAL' => 1,
autom4te:                    'AC_CANONICAL_BUILD' => 1,
autom4te:                    'LT_CONFIG_LTDL_DIR' => 1,
autom4te:                    'AC_PROG_LIBTOOL' => 1,
autom4te:                    'AM_SILENT_RULES' => 1,
autom4te:                    '_AM_COND_ENDIF' => 1,
autom4te:                    'AC_CONFIG_LIBOBJ_DIR' => 1,
autom4te:                    'AC_FC_SRCEXT' => 1,
autom4te:                    'AC_LIBSOURCE' => 1,
autom4te:                    'AM_EXTRA_RECURSIVE_TARGETS' => 1,
autom4te:                    '_AM_MAKEFILE_INCLUDE' => 1,
autom4te:                    '_LT_AC_TAGCONFIG' => 1,
autom4te:                    'm4_pattern_allow' => 1,
autom4te:                    'AM_PROG_MKDIR_P' => 1,
autom4te:                    'AM_NLS' => 1,
autom4te:                    'AH_OUTPUT' => 1,
autom4te:                    'AM_POT_TOOLS' => 1,
autom4te:                    'AC_SUBST' => 1,
autom4te:                    'LT_INIT' => 1,
autom4te:                    'AC_FC_PP_SRCEXT' => 1,
autom4te:                    'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
autom4te:                    'AM_MAKEFILE_INCLUDE' => 1,
autom4te:                    'AM_PROG_AR' => 1,
autom4te:                    'AC_FC_PP_DEFINE' => 1,
autom4te:                    'AM_PROG_CXX_C_O' => 1,
autom4te:                    'AM_CONDITIONAL' => 1,
autom4te:                    'AC_SUBST_TRACE' => 1,
autom4te:                    'AM_PROG_FC_C_O' => 1,
autom4te:                    'AC_CONFIG_AUX_DIR' => 1,
autom4te:                    'AC_CONFIG_LINKS' => 1,
autom4te:                    'AC_CONFIG_FILES' => 1,
autom4te:                    '_AM_COND_IF' => 1,
autom4te:                    'AM_PATH_GUILE' => 1,
autom4te:                    'include' => 1,
autom4te:                    'AC_CANONICAL_TARGET' => 1,
autom4te:                    'AM_GNU_GETTEXT' => 1,
autom4te:                    'AM_MAINTAINER_MODE' => 1,
autom4te:                    'AC_CONFIG_HEADERS' => 1,
autom4te:                    'm4_include' => 1,
autom4te:                    'AC_CONFIG_SUBDIRS' => 1,
autom4te:                    'AM_AUTOMAKE_VERSION' => 1,
autom4te:                    'AM_ENABLE_MULTILIB' => 1,
autom4te:                    'AM_PROG_MOC' => 1,
autom4te:                    'AM_PROG_CC_C_O' => 1,
autom4te:                    'sinclude' => 1,
autom4te:                    '_AM_SUBST_NOTMAKE' => 1,
autom4te:                    'AC_REQUIRE_AUX_FILE' => 1,
autom4te:                    'AM_INIT_AUTOMAKE' => 1,
autom4te:                    'AM_PROG_F77_C_O' => 1,
autom4te:                    'LT_SUPPORTED_TAG' => 1,
autom4te:                    'AC_FC_FREEFORM' => 1,
autom4te:                    '_m4_warn' => 1,
autom4te:                    'AC_CANONICAL_HOST' => 1,
autom4te:                    '_AM_COND_ELSE' => 1,
autom4te:                    'm4_sinclude' => 1,
autom4te:                    'AM_XGETTEXT_OPTION' => 1,
autom4te:                    'm4_pattern_forbid' => 1
autom4te:                  }
autom4te:                ], 'Autom4te::Request' );
autom4te: formatting traces for `/tmp/am4tr1Oufp/warnings': _m4_warn
autom4te: reading /tmp/am4tr1Oufp/warnings

我已经检查过,/tmp/am4tr1Oufp/warnings但没有警告等。

运行时,./configure我得到以下信息。但是,根据安装文件,将在安装过程中对'xapian'和'iconv'(libiconv)进行排序。因此,我认为这应该不是问题。

/usr/local/src/recoll-1.20.1$ ./configure
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking how to run the C++ preprocessor... g++ -E
checking tr1/unordered_map usability... yes
checking tr1/unordered_map presence... yes
checking for tr1/unordered_map... yes
checking unordered_map usability... no
checking unordered_map presence... no
checking for unordered_map... no
checking for sys/mount.h... yes
checking for sys/statfs.h... yes
checking for sys/statvfs.h... yes
checking for sys/vfs.h... yes
checking for file... /usr/bin/file
checking for aspell... /usr/bin/aspell
configure: aspell support enabled but aspell package not found. Compiling with internal aspell interface file
configure: enabled support for inotify monitoring
configure: FAM support enabled but inotify support also enabled. Disabling FAM support and using inotify
checking for mkdtemp... yes
checking for type of inbuf parameter to iconv... checking for type of string parameter to putenv... checking for xapian-config... no
checking for xapian-config-1.3... no
checking for xapian-config-1.1... no
configure: error: Cannot find xapian-config command in /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games. Is
xapian-core installed ?

1
标准存储库似乎没有xapian-core软件包,但是xapian-config似乎由libxapian-dev
steeldriver

出于好奇:您决定从源代码安装是否有任何特定原因?使用官方的PPA将使安装更加容易。
谷氨酸(Glutanimate)

1
大家好,我想安装最新版本,因此根据Recoll网站的说法,我试图不依赖提供较旧版本的官方PPA。另外,我想获得有关Ubuntu系统本身的更多经验,并且处理源代码是一个很好的起点,对吗?
johann_ka,2015年

@john_s有意义。您是否尝试过libxapian-dev建议安装的钢螺丝刀?确实看起来configure只是注意到缺少的依赖项。
谷氨酰胺

我很高兴您能够解决编译问题。但是,无需修改标题以将其标记为已解决。通过接受答案,您已经做到了。
谷氨酰胺

Answers:


3

您需要安装以下软件包(取自Ubuntu软件包的“ control”文件):

           libqt4-dev,
           libqtwebkit-dev,
           libx11-dev,
           libxapian-dev (>= 1.2.0),
           libz-dev,
           python-all-dev (>= 2.6.6-3~),
           python3-all-dev,

python3-all-dev仅在您要构建模块的python3版本时才有用,并且默认的Makefile不需要它

然后配置/ make / make install应该工作。

也许通过--prefix = / usr进行配置,以避免冒着两次recoll安装结束的风险?

您能否告诉我在recoll文档中哪里说make + make install应该起作用?始终需要配置。


0

@medoc:谢谢,我安装了您提到的所有依赖项apt-get install FILENAMES

然后,我访问了保存提取的源代码的旧版本。我然后make再使用“ ./configure” sudo checkinstall

在5.1.2节中,它说:“解压缩tar文件后,就可以像从源代码构建软件包一样进行安装(即,只需键入make install)。二进制树是为安装到/ usr /而构建的。本地。”

您在哪里看到缺少哪些依赖项?


感谢您提供文件参考。本节讨论了实际上不再提供的预构建的Recoll源树“包”,我将摆脱它。
medoc

1
关于部门,不必后悔,没有什么明显的。我只是看到xapian-core丢失了(配置输出的末尾),并猜想其他的可能也是。手册的“从源代码构建”部分中列出了构建dep,但是查找确切软件包名称的一个好地方是debian软件包“ control”源文件。对我来说,这很容易,因为我写了它:),否则,您必须从xxx.debian.tar.gz软件包文件中提取它,或者运行configure / add软件包,直到它起作用。
medoc

谢谢哥们儿!Recoll在Ubuntu上是一个功能强大的搜索功能!我非常感谢向社区提供的信息!
johann_ka 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.