#44 Cannot ./configure mlocate on Ubuntu 17.10 with gcc 7.2 : HACKING script
Opened by sebm. Modified

Hi,

When I run ./configure on Ubuntu 17.10 and I got this message :

checking for available GCC warning flags...  -Wall -W -Wcast-align -Wmissing-noreturn -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings
checking whether we should use -Werror... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'
$ echo $?
1

You will find attached the config.log file in the next comment.

Any idea ?


Yeah, where did you get mlocate from? Makefile.in exists in the released tarballs. If you are compiling from source, see HACKING.

I got mlocate from the git clone https://pagure.io/mlocate.git command.

OK, I see.

I'm used to finding the instructions to build from git in the INSTALL file

+ git clone git://git.savannah.gnu.org/gnulib.git
Cloning into 'gnulib'...
remote: Counting objects: 190735, done.
remote: Compressing objects: 100% (25966/25966), done.
remote: Total 190735 (delta 164709), reused 190727 (delta 164704)
Receiving objects: 100% (190735/190735), 37.68 MiB | 1.26 MiB/s, done.
Resolving deltas: 100% (164709/164709), done.
Checking connectivity... done.
+ git checkout 5861339993f3014cfad1b94fc7fe366fc2573598
fatal: reference is not a tree: 5861339993f3014cfad1b94fc7fe366fc2573598
$ echo $?
128
+ ../gnulib/gnulib/gnulib-tool --import
Module list with included dependencies (indented):
File list:
  lib/dummy.c
  m4/00gnulib.m4
  m4/gnulib-common.m4
Creating directory ./lib
Copying file lib/dummy.c
Copying file m4/00gnulib.m4
Copying file m4/gnulib-common.m4
Copying file m4/gnulib-tool.m4
Creating lib/Makefile.am
Creating m4/gnulib-cache.m4
Creating m4/gnulib-comp.m4
Creating ./lib/.gitignore
Creating ./m4/.gitignore
Finished.
You may need to add #include directives for the following .h files.
Don't forget to
  - add "lib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
  - mention "lib" in SUBDIRS in Makefile.am,
  - mention "-I m4" in ACLOCAL_AMFLAGS in Makefile.am,
  - mention "m4/gnulib-cache.m4" in EXTRA_DIST in Makefile.am,
  - invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC,
  - invoke gl_INIT in ./configure.ac.
+ hg revert --all
abort: no repository found in '/home/sebastien/src/mlocate' (.hg not found)!
$ echo $?
255

Here is how I modified your HACKING script to build the whole thing.
I commented two lines to run it for the second time :

$ cat HACKING 
#To set up a build environment from this repository, run:
gldir=../gnulib
mlocate_dir=~/src/mlocate
        mkdir -p $gldir; cd $gldir
#       git clone git://git.savannah.gnu.org/gnulib.git
#       git checkout 5861339993f3014cfad1b94fc7fe366fc2573598
        cd $mlocate_dir
        $gldir/gnulib/gnulib-tool --import
        hg revert --all
        autoreconf -is

And then I run :

$ sh -xeu HACKING

@mitr Hi, did you have time to look at my traces ?

Basically, I’d recommend using the released tarball and avoid all of this complexity.

The HACKING instructions do need updating a bit, but if all you want is a running software, the released tarball is the right way to go. Or use the distribution’s packaging; it seems to be available in Ubuntu.

You are right, but I wanted to know if the behaviour on MacOS was the same as on Ubuntu.

Well, you’ve run into the same difficulties in both cases, so it seems reasonable that the same recommendation would apply?

As it turns out, mlocate does not ultimately build on macOS (at least on 10.13.4), among other reasons because something like #15 would be needed. But to even get that far you would need a working build configuration, and the released tarball does provide one.

Metadata