GNOME Bugzilla – Bug 498625
config cannot find missing when space in path
Last modified: 2007-12-04 16:55:26 UTC
Please describe the problem: When you have a space in your path to the libxml2 source directory, config fails to find the file "missing" Steps to reproduce: 1. Download the libXml2 file 2. untar it into the path "/src/3rd Party/" 3. cd to "/src/3rd Party/libxml" 4. ./configure Actual results: /bin/sh: /src/3rd Party/3rd: No such file or directory configure: WARNING: `missing' script is too old or missing Expected results: No warnings Does this happen every time? Yes, this is reproducible 200% of the time. Other information: Note: compiling on Darwin 9.1.0 Line 1795 of config: test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" should be changed to: test x"${MISSING+set}" = xset || MISSING="\${SHELL} \"$am_aux_dir/missing\""
All this is autoconf/automake magic, not directly related to libxml2. I suggest to avoid spaces in filenames if you want to build Unix softwares on your OS, this is a recipe for problems really. I'm closing this bug because I don't think I can fix it, this is actually not related to libxml2 code, thanks for the report but in that case, I really can't fix it Daniel
Spaces and shell meta-characters in general in source and build directory names expose fundamental problems with libtool and automake. For example, libtools' generated ltmain.sh doesn't quote file names, including the offending absolute name containing a space. I just asked, and Ralf Wildenhues (maintainer of both packages) says that the cost/benefit ratio is too far out of proportion to fix it. However, he seems to like the idea of adding a big fat AC_MSG_WARN in AC_PROG_LIBTOOL, so at least people will know to blame (and report bugs to) libtool, and not every package that uses it.
Just to provide a tiny bit of additional information to this bug: the issue you stumbled over can be worked around by adding the directory where the script named 'missing' lives to $PATH, and setting export MISSING=missing ./configure ... you should be able to overcome this specific issue. If you find other issues concerning white space in the absolute source and build directory names in the Autoconf or Automake packages, then I'd be happy to hear about them. Most of them can be worked around, I'm in the process of fixing some more. It's really Libtool that is hard to fix. Cheers, Ralf
FYI, Ralf Wildenhues has fixed nearly all related problems in automake: at least 7 csets: http://git.sv.gnu.org/gitweb/?p=automake.git;a=shortlog
So if I am to understand this correctly. The config script itself is auto generated by some tool and is therefore not under Gnome's control? In other words, this script is never hand touched? Ah yes, upon closer inspection I see this at the top of the file: # Generated by GNU Autoconf 2.59. I'll bug the Autoconf people. It's interesting, though, that is seems that autoconf tries real hard to quote everything properly, but misses in just this one place.