bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #40344] Can't handle Windows long path names


From: Mike Hommey
Subject: [bug #40344] Can't handle Windows long path names
Date: Tue, 22 Oct 2013 04:49:10 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0

URL:
  <http://savannah.gnu.org/bugs/?40344>

                 Summary: Can't handle Windows long path names
                 Project: make
            Submitted by: glandium
            Submitted on: Tue 22 Oct 2013 04:49:10 AM GMT
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: 4.0
        Operating System: MS Windows
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

(Reported by Vladimir Vukicevic on the mozilla bug tracker)

make 4.0 can't handle long path names, which need some special magic under
windows -- you need to use the unicode versions of the IO functions, and
prepend paths with the \\?\ UNC prefix.  (Note that also turns off automatic /
-> \ conversion.)  So, \\?\C:\foo\bar\baz instead of C:/foo/bar/baz or
similar.

STR:

$ cd c:/tmp   # or wherever

$ mkdir -p
this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5

$ cd !$

$ echo hello > this-is-a-long-filename.txt

$ cat > Makefile <<EOF

all: success

success:
../../../../../../this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5/this-is-a-long-filename.txt
        cp $< $@
EOF

$ make
make: *** No rule to make target
'../../../../../../this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5/this-is-a-long-filename.txt',
needed by 'success'.  Stop.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?40344>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]