Makefile.in is not created (Cygwin)
Makefile.in is not created (Cygwin)
Evening all.
Cygwin creates a home directory based on the user name of the Windows user (/home/Ken\ Sharp for example).
Unfortunately the space screws up the creation of Makefile.in after running a configure - indeed it is not created at all, but there is no error from configure. Creating a new directory with no spaces in the path seems to solve this (/home/ken).
[At this point I'm not sure if having configure in the directory with spaces is the problem, or the compile directory having spaces is the problem - I will check this but it is incredibly slow.]
This may be a Cygwin bug, and may be well known, but I cannot find any details on this.
Can anyone help? Is this a bug? Should configure be making sure Makefile.in is created before claiming to complete successfully?
Cygwin creates a home directory based on the user name of the Windows user (/home/Ken\ Sharp for example).
Unfortunately the space screws up the creation of Makefile.in after running a configure - indeed it is not created at all, but there is no error from configure. Creating a new directory with no spaces in the path seems to solve this (/home/ken).
[At this point I'm not sure if having configure in the directory with spaces is the problem, or the compile directory having spaces is the problem - I will check this but it is incredibly slow.]
This may be a Cygwin bug, and may be well known, but I cannot find any details on this.
Can anyone help? Is this a bug? Should configure be making sure Makefile.in is created before claiming to complete successfully?
Makefile.in is not created (Cygwin)
On Sat, 2011-10-22 at 12:41 -0500, KenSharp wrote:
script and this is a common problem in shell scripts that are not
explicitly written to handle names with spaces in them.
Check the cygwin bugs register and/or ask them about it: nobody else is
likely to know whether they use a standard 'configure' shell script or
if its one of their own.
Martin
That sounds like a problem in configure to me: IIRC configure is a shellCygwin creates a home directory based on the user name of the Windows
user (/home/Ken\ Sharp for example).
Unfortunately the space screws up the creation of Makefile.in after
running a configure - indeed it is not created at all, but there is no
error from configure. Creating a new directory with no spaces in the
path seems to solve this (/home/ken).
script and this is a common problem in shell scripts that are not
explicitly written to handle names with spaces in them.
Check the cygwin bugs register and/or ask them about it: nobody else is
likely to know whether they use a standard 'configure' shell script or
if its one of their own.
Martin
Re: Makefile.in is not created (Cygwin)
Look inside configure.log for the place which fails. Find it in configure or even better in configure.ac and put double quotes around the path variable(s).KenSharp wrote:Cygwin creates a home directory based on the user name of the Windows user (/home/Ken\ Sharp for example).
Unfortunately the space screws up the creation of Makefile.in after running a configure - indeed it is not created at all, but there is no error from configure. Creating a new directory with no spaces in the path seems to solve this (/home/ken).
Then send a patch in.
This is worse than I originally realised
The vast majority of files that should exist, don't, but there are no errors output by configure.
Looking through configure and configure.ac but I doubt I'll find anything that makes sense to me. config.log doesn't show a failure.
Still looking through...
Code: Select all
User@aspire /home/test user
$ ls -lr
total 2653
lrwxrwxrwx 1 User None 37 Oct 24 17:57 wine -> /home/test/wine-gi
t/tools/winewrapper
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 tools
drwxr-xr-x+ 1 User None 0 Oct 24 17:56 programs
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 include
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 fonts
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 dlls
-rwxr-xr-x 1 User None 853447 Oct 24 17:56 config.status
-rw-r--r-- 1 User None 1018425 Oct 24 17:57 config.log
-rw-r--r-- 1 User None 7679 Oct 24 17:56 Maketest.rules
-rw-r--r-- 1 User None 818409 Oct 24 17:57 Makefile
-rw-r--r-- 1 User None 5727 Oct 24 17:56 Make.rules
User@aspire /home/test user
$ ls -lr *
lrwxrwxrwx 1 User None 37 Oct 24 17:57 wine -> /home/test/wine-gi
t/tools/winewrapper
-rwxr-xr-x 1 User None 853447 Oct 24 17:56 config.status
-rw-r--r-- 1 User None 1018425 Oct 24 17:57 config.log
-rw-r--r-- 1 User None 7679 Oct 24 17:56 Maketest.rules
-rw-r--r-- 1 User None 818409 Oct 24 17:57 Makefile
-rw-r--r-- 1 User None 5727 Oct 24 17:56 Make.rules
tools:
total 1
lrwxrwxrwx 1 User None 36 Oct 24 17:57 l_intl.nls -> /home/test/wine-gi
t/tools/l_intl.nls
programs:
total 8
-rw-r--r-- 1 User None 7295 Oct 24 17:56 Makeprog.rules
include:
total 41
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 wine
-rw-r--r-- 1 User None 10 Oct 24 17:57 stamp-h
-rw-r--r-- 1 User None 40939 Oct 24 17:57 config.h
fonts:
total 4
lrwxrwxrwx 1 User None 38 Oct 24 17:57 tahomabd.ttf -> /home/test/wine-
git/fonts/tahomabd.ttf
lrwxrwxrwx 1 User None 36 Oct 24 17:57 tahoma.ttf -> /home/test/wine-gi
t/fonts/tahoma.ttf
lrwxrwxrwx 1 User None 36 Oct 24 17:57 symbol.ttf -> /home/test/wine-gi
t/fonts/symbol.ttf
lrwxrwxrwx 1 User None 37 Oct 24 17:57 marlett.ttf -> /home/test/wine-g
it/fonts/marlett.ttf
dlls:
total 20
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 wineps.drv
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 user32
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 shell32
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 kernel32
drwxr-xr-x+ 1 User None 0 Oct 24 17:57 gdi32
-rw-r--r-- 1 User None 6371 Oct 24 17:56 Makeimplib.rules
-rw-r--r-- 1 User None 8927 Oct 24 17:56 Makedll.rules
Looking through configure and configure.ac but I doubt I'll find anything that makes sense to me. config.log doesn't show a failure.
Still looking through...
Makefile.in is not created (Cygwin)
"KenSharp" <[email protected]> writes:
--
Alexandre Julliard
[email protected]
Looks fine to me, what makes you think that files are missing?The vast majority of files that should exist, don't, but there are no errors output by configure.
--
Alexandre Julliard
[email protected]
Re: Makefile.in is not created (Cygwin)
I assumed the folders would be created along with the makefiles. If not, then that's fine - I'm not used to seeing a clean directory!Alexandre Julliard wrote:Looks fine to me, what makes you think that files are missing?
Ignore that bit then, the missing Makefile.in is the problem.
I would like to reiterate that running configure in a directory structure with no spaces does not have a problem.
Makefile.in is not created (Cygwin)
"KenSharp" <[email protected]> writes:
make?
--
Alexandre Julliard
[email protected]
It's not a problem at all, perfectly normal. Have you tried runningAlexandre Julliard wrote:I assumed the folders would be created along with the makefiles. If not, then that's fine - I'm not used to seeing a clean directory!Looks fine to me, what makes you think that files are missing?
Ignore that bit then, the missing Makefile.in is the problem.
make?
--
Alexandre Julliard
[email protected]
Re: Makefile.in is not created (Cygwin)
Right,
Fail:
$ /home/Ken\ Sharp/wine-git/configure ; make
Success:
$ /home/ken/wine-git/configure ; make
Both work in Linux.
So, in Cygwin, make fails to find /home/Ken\ Sharp/wine-git/Makefile.in but not /home/ken/wine-git/Makefile.in. "make -d" confirms this, but nothing states why. Nothing in the logs jump out either but they are enormous after all.
My test machine is in use now so I'll have to look at it more later.
Fail:
$ /home/Ken\ Sharp/wine-git/configure ; make
Success:
$ /home/ken/wine-git/configure ; make
Both work in Linux.
So, in Cygwin, make fails to find /home/Ken\ Sharp/wine-git/Makefile.in but not /home/ken/wine-git/Makefile.in. "make -d" confirms this, but nothing states why. Nothing in the logs jump out either but they are enormous after all.
My test machine is in use now so I'll have to look at it more later.
Re: Makefile.in is not created (Cygwin)
As a guess, though, I would say that $(top_srcdir) and $(srcdir) need to be "escaped". Couldn't find VPATH used in the scripts.
top_srcdir = /home/Kenneth Sharp/wine-git
srcdir = /home/Kenneth Sharp/wine-git
VPATH = /home/Kenneth Sharp/wine-git
top_srcdir = /home/Kenneth Sharp/wine-git
srcdir = /home/Kenneth Sharp/wine-git
VPATH = /home/Kenneth Sharp/wine-git
Re: Makefile.in is not created (Cygwin)
Wrong again:KenSharp wrote:Both work in Linux.
$ CFLAGS="-g -O0" /tmp/This\ directory\ has\ spaces/wine-git/configure --disable-tests ; make
make: *** No rule to make target `Makefile.in', needed by `Makefile'. Stop.
Fails in Linux too.
Makefile from the build directory gives:
top_srcdir = /tmp/This directory has spaces/wine-git
srcdir = /tmp/This directory has spaces/wine-git
VPATH = /tmp/This directory has spaces/wine-git
Tried changing these lines to "/tmp/This directory has spaces/wine-git" and /tmp/This\ directory\ has\ spaces/wine-git and even
$ CFLAGS="-g -O0" "/tmp/This directory has spaces/wine-git/configure" --disable-tests ; make
but make always fails.
It'll be rare but it does occur.
Re: Makefile.in is not created (Cygwin)
Using paths that contain spaces with make is a bad idea. Don't do that.
Re: Makefile.in is not created (Cygwin)
I won't be now I know what the problem is.