On 3 October 2010 22:41, Juan Jose Garcia-Ripoll <juanjose.garciarip...@googlemail.com> wrote: > > > On Sun, Oct 3, 2010 at 10:31 PM, Samium Gromoff > <_deepf...@feelingofgreen.ru> wrote: >> >> On Sun, 3 Oct 2010 22:16:21 +0200, Juan Jose Garcia-Ripoll >> <juanjose.garciarip...@googlemail.com> wrote: >> > It seems that "configure" does not work when one of the directories >> > contains >> > a space in the name. Is this a known limitation? >> >> I have never /ever/ tried to run configure with --prefix having spaces >> in it. >> >> On Linux due to cultural reasons. >> >> On Windows -- because MinGW strongly encourages one to install itself at >> disc:/MinGW, and one would have to be pressed hard to --prefix a package >> into outside of MinGW's /. > > I am not even talking about "prefix", which seems to work fine, but about > the location of sources. If ECL's source tree is say in "/home/jjgarcia/some > path/ecl/" then "configure" refuses to run because /bin/bash refuses to > execute files (config.sub) which are located in paths with spaces. That > seems like a bug in autoconf to me. > BTW, the fact that you have not ever done it does not mean that people > haven't tried and been bitten by it... and complained ;-)
I've just tried with curl, since I have the sources on my machine and it uses autoconf. I copied it to '/tmp/some where' and then ran './configure --prefix="/tmp/some path"'. The configure step worked without complaint, as did the compile. "make install" died, though: /tmp/some where/curl$ make install Making install in lib make[1]: Entering directory `/tmp/some where/curl/lib' make[2]: Entering directory `/tmp/some where/curl/lib' test -z "/tmp/some path/lib" || /bin/mkdir -p "/tmp/some path/lib" /bin/bash ../libtool --mode=install /usr/bin/install -c 'libcurl.la' '/tmp/some path/lib/libcurl.la' libtool: install: /usr/bin/install -c .libs/libcurl.so.4.2.0 /tmp/some path/lib/libcurl.so.4.2.0 /usr/bin/install: target `path/lib/libcurl.so.4.2.0' is not a directory make[2]: *** [install-libLTLIBRARIES] Error 1 make[2]: Leaving directory `/tmp/some where/curl/lib' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/tmp/some where/curl/lib' make: *** [install-recursive] Error 1 So it doesn't seem like configure is necessarily broken when there's a space in the directory containing the source tree. Then I tried sshguard and there was no problem, even with the install. This patch gets past the issue with the top level configure: --- a/configure +++ b/configure @@ -34,6 +34,6 @@ if ( echo $* | grep guess-host-cflags ); then fi cd ${buildir} -${srcdir}/configure --srcdir=${srcdir} "$@" +"${srcdir}/configure" --srcdir="${srcdir}" "$@" echo Configuration complete. To build ECL, issue 'make' in this directory. but then you get: configure: error: cannot run /bin/bash /tmp/some where/ecl/src/gmp/config.sub I tried for a bit to fix that, but it's past my bed time :) -- Michael Wood <esiot...@gmail.com> ------------------------------------------------------------------------------ Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list