Hi,
When I run ./configure on Ubuntu 17.10 and I got this message :
./configure
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.
mlocate
Makefile.in
HACKING
I got mlocate from the git clone https://pagure.io/mlocate.git command.
git clone https://pagure.io/mlocate.git
OK, I see.
I'm used to finding the instructions to build from git in the INSTALL file
INSTALL
+ 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.