1

I'm trying to install the latest version of Recoll (1.20.1) on Ubuntu 14.04.

I've downloaded the tar file from the developer website (under 'Source') and copied it to /usr/local/src where I extracted it with tar -xvf recoll-1.20.1 creating a new folder called recoll-1.20.1. The folder contains the following files and directories.

/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's installation guide says simply install with make and make install, however that is not working for me although there is a configure.ac file that looks okay to me when looking at it in gedit.

Would be great if someone could post a solution. Here further are some more details of my failed workarounds.

When typing in make I'm getting the following output:

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

I've tried autoconf -v which gives me the below output.

/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

I've checked /tmp/am4tr1Oufp/warnings but there is no warning etc.

When running ./configure I'm getting the below. However according to the INSTALL file 'xapian' and 'iconv' (libiconv) will be sorted during the installation. So, I was thinking that shouldn't be a problem.

/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
    The standard repositories do not seem to have an xapian-core package, however xapian-config appears to be provided by libxapian-dev – steeldriver Feb 21 '15 at 2:17
  • Just out of curiosity: Is there any particular reason why you decided to install from source? Using the official PPA would make for a much easier installation. – Glutanimate Feb 21 '15 at 2:46
  • 1
    Hi both, I would like to install the latest version, therefore I'm trying not to rely on the official PPA, which offers an older version, according to the Recoll's website. Also, I would like to get more experience with the Ubuntu system itself and dealing with source code is a good starting point, right? – johann_ka Feb 21 '15 at 13:15
  • @john_s That makes sense. Have you tried installing libxapian-dev like steeldriver suggested? It really looks like configure is just noticing a missing dependency. – Glutanimate Feb 22 '15 at 15:19
  • I am glad you managed to solve the compilation issue. However, there's no need to modify your title to mark it as solved. By accepting an answer you've already done so. – Glutanimate Mar 2 '15 at 11:47
3

You need to install the following packages (taken from the Ubuntu package "control" file):

           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 is only useful if you want to build the python3 version of the module, and won't be needed by the default Makefile

Then configure / make / make install should work.

Maybe pass --prefix=/usr to configure to avoid risking ending up with two recoll installs ?

Could you please tell me where in the recoll doc it is said that make + make install should work ? configure is always needed.

| improve this answer | |
0

@medoc: Thanks, I installed all the dependencies you mentioned using apt-get install FILENAMES.

Then I accessed the older where the extracted source code was saved. I used ´./configure´ then make and then sudo checkinstall.

Here under section 5.1.2 it says "After extracting the tar file, you can proceed with installation as if you had built the package from source (that is, just type make install). The binary trees are built for installation to /usr/local."

Where did you see which dependencies were missing?

| improve this answer | |
  • Thanks for providing the doc ref. This section dealt with prebuilt Recoll source tree "packages" which are actually not provided any more, I'll get rid of it. – medoc Feb 26 '15 at 14:51
  • 1
    About the deps, no need to be sorry, there is nothing obvious. I just saw that xapian-core was missing (end of configure output), and guessed that the others might be too. The build deps are listed in the "Building from source" section of the manual, but a good place to find the exact package names is the debian package "control" source file. Easier for me cause I wrote it :), else, you'd have to extract it from the xxx.debian.tar.gz package file, or run configure / add packages until it works. – medoc Feb 26 '15 at 15:07
  • Thanks buddy! Recoll is a neat and mighty search feature on Ubuntu! I really appreciate that this is provided to the community! – johann_ka Feb 26 '15 at 20:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.