Makefile.in is not created (Cygwin)

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Makefile.in is not created (Cygwin)

Post by KenSharp »

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?
Martin Gregorie

Makefile.in is not created (Cygwin)

Post by Martin Gregorie »

On Sat, 2011-10-22 at 12:41 -0500, 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).
That sounds like a problem in configure to me: IIRC configure is a shell
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
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Makefile.in is not created (Cygwin)

Post by vitamin »

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).
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).

Then send a patch in.
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Post by KenSharp »

This is worse than I originally realised

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
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...
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

What exactly are you doing that involves your home directory? Wine compile process doesn't really care where your home is.

Where is your wine.git directory? How exactly are you compiling Wine? With what commands from what directory?
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Post by KenSharp »

I'm using the exact same process I am using under Linux.

$ cd /home/Ken\ Sharp/wine32
$ /home/test/wine-git/configure

Couldn't be simpler.
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Post by KenSharp »

And I wasn't suggesting it was the home directory that was the problem! The problem is the spaces in the path.
Alexandre Julliard

Makefile.in is not created (Cygwin)

Post by Alexandre Julliard »

"KenSharp" <[email protected]> writes:
The vast majority of files that should exist, don't, but there are no errors output by configure.
Looks fine to me, what makes you think that files are missing?

--
Alexandre Julliard
[email protected]
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Re: Makefile.in is not created (Cygwin)

Post by KenSharp »

Alexandre Julliard wrote:Looks fine to me, what makes you think that files are missing?
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!

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.
Alexandre Julliard

Makefile.in is not created (Cygwin)

Post by Alexandre Julliard »

"KenSharp" <[email protected]> writes:
Alexandre Julliard wrote:
Looks fine to me, what makes you think that files are missing?
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!

Ignore that bit then, the missing Makefile.in is the problem.
It's not a problem at all, perfectly normal. Have you tried running
make?

--
Alexandre Julliard
[email protected]
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Post by KenSharp »

Yes. "No rules found"
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Post by KenSharp »

I'll run both again so I can show a comparison
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Re: Makefile.in is not created (Cygwin)

Post by KenSharp »

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.
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Re: Makefile.in is not created (Cygwin)

Post by KenSharp »

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
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Re: Makefile.in is not created (Cygwin)

Post by KenSharp »

KenSharp wrote:Both work in Linux.
Wrong again:

$ 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.
julliard
Level 2
Level 2
Posts: 11
Joined: Sat Mar 30, 2013 12:22 pm

Re: Makefile.in is not created (Cygwin)

Post by julliard »

Using paths that contain spaces with make is a bad idea. Don't do that.
User avatar
KenSharp
Level 4
Level 4
Posts: 149
Joined: Mon Jul 13, 2009 8:52 pm

Re: Makefile.in is not created (Cygwin)

Post by KenSharp »

I won't be now I know what the problem is.
Locked