Thread: [A-A-P-develop] :rule problem building Vim
Brought to you by:
vimboss
From: Dan S. <dw...@us...> - 2003-04-17 16:32:26
|
With the 0.134 build of aap on Win2k with ActivePython 2.2, the patch rule is now failing when updating the Vim sources. It looks like the path separator is not being converted somewhere before a comparison. The line that used to work but fails now is :rule patches/%.done : patches/% Changing it to :rule patches\%.done : patches\% makes it work. The relevent verbose output of the failing run is: Aap: Start :update "patch" Aap: 1 - updating target "patch" Aap: 2 - Using dependency "patch{virtual=1} : patches/6.1.001.done patches/6.1.0 02.done patches/6.1.003.done patches/6.1.004.done patches/6.1.005.done patches/6.1.006.done patches/6.1.007.done patches/6.1.008.done ... patches/6.1.456.done patches/6.1.457.done patches/6.1.458.done patches/6.1.459.done patches/6.1.460.done patches/6.1.461.done patches/6.1.462.done patches/6.1.463.done patches/6.1.464.done patches/6.1.465.done patches/6.1.466.done patches/6.1.467.done patches/6.1.468.done patches/6.1.469.done" Aap: 3 - updating target "patches\6.1.001.done" Aap: 3 - Do not know how to build "patches\6.1.001.done" Aap: 3 - updating target "build-nt\patches\6.1.001.done" Aap: 3 - Do not know how to build "build-nt\patches\6.1.001.done" Aap: Do not know how to build "patches\6.1.001.done" Dan Sharp |
From: Bram M. <Br...@mo...> - 2003-04-17 19:46:51
|
Dan Sharp wrote: > With the 0.134 build of aap on Win2k with ActivePython 2.2, the patch > rule is now failing when updating the Vim sources. It looks like the > path separator is not being converted somewhere before a comparison. > The line that used to work but fails now is > > :rule patches/%.done : patches/% > > Changing it to > > :rule patches\%.done : patches\% > > makes it work. The relevent verbose output of the failing run is: > > Aap: Start :update "patch" > Aap: 1 - updating target "patch" > Aap: 2 - Using dependency "patch{virtual=1} : patches/6.1.001.done > patches/6.1.0 > 02.done patches/6.1.003.done patches/6.1.004.done patches/6.1.005.done > patches/6.1.006.done patches/6.1.007.done patches/6.1.008.done > > ... > > patches/6.1.456.done patches/6.1.457.done patches/6.1.458.done > patches/6.1.459.done patches/6.1.460.done patches/6.1.461.done > patches/6.1.462.done patches/6.1.463.done patches/6.1.464.done > patches/6.1.465.done patches/6.1.466.done patches/6.1.467.done > patches/6.1.468.done patches/6.1.469.done" > Aap: 3 - updating target "patches\6.1.001.done" > Aap: 3 - Do not know how to build "patches\6.1.001.done" > Aap: 3 - updating target "build-nt\patches\6.1.001.done" > Aap: 3 - Do not know how to build "build-nt\patches\6.1.001.done" > Aap: Do not know how to build "patches\6.1.001.done" The problem appears to be in fname_fold() in Util.py. I changed it to use the standard Python function normcase(), but that doesn't change the backslashes to forward slashes. Try this patch: *** Util.py~ Thu Apr 17 17:25:09 2003 --- Util.py Thu Apr 17 21:33:32 2003 *************** *** 459,465 **** backslashes to slashes and make all characters lowercase.""" if os.name == "posix": return name ! return os.path.normcase(name) def fname_equal(one, two): --- 459,465 ---- backslashes to slashes and make all characters lowercase.""" if os.name == "posix": return name ! return string.replace(string.lower(name), '\\', '/') def fname_equal(one, two): I tried running the tests on MS-Windows with the latest version of Aap, but my "gcc" stopped working when I installed MS-Windows XP... Does running the tests work for you? -- login: yes password: I don't know, please tell me password is incorrect login: yes password: incorrect /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\ \\\ Project leader for A-A-P -- http://www.A-A-P.org /// \\\ Help AIDS victims, buy at Amazon -- http://ICCF.nl/click1.html /// |
From: Dan S. <dw...@us...> - 2003-04-17 20:42:31
|
Bram Moolenaar wrote: > > The problem appears to be in fname_fold() in Util.py. I changed it to > use the standard Python function normcase(), but that doesn't change the > backslashes to forward slashes. Try this patch: > > *** Util.py~ Thu Apr 17 17:25:09 2003 > --- Util.py Thu Apr 17 21:33:32 2003 > *************** > *** 459,465 **** > backslashes to slashes and make all characters lowercase.""" > if os.name == "posix": > return name > ! return os.path.normcase(name) > > > def fname_equal(one, two): > --- 459,465 ---- > backslashes to slashes and make all characters lowercase.""" > if os.name == "posix": > return name > ! return string.replace(string.lower(name), '\\', '/') > > > def fname_equal(one, two): That fixed it! > I tried running the tests on MS-Windows with the latest version of Aap, > but my "gcc" stopped working when I installed MS-Windows XP... Does > running the tests work for you? With Cygwin in a bash prompt (thus using Cygwin's python 2.2), all the tests are successful. With both MinGW and Cygwin in a cmd.exe prompt (thus using ActivePython 2.2), all tests except rectest\test005.py are successful. The output from test005 is: C:\Program Files\Exec>python aap.py Aap: C:\Langs\Python22\python.exe rectest\test005.py "C:\Langs\Python22\python.exe" Aap: Creating directory "C:\Program Files\Exec\rectest\build-nt" Aap: gcc -E -MM rectest.c > build-nt\rectest.c.aap Aap: gcc -O2 -c -o build-nt\rectest.obj rectest.c Aap: gcc -O2 -o rectestprog.exe build-nt\rectest.obj Aap: gcc -E -MM rectest.c > build-nt\rectest.c.aap Aap: gcc -O2 -c -o build-nt\rectest.obj rectest.c Aap: gcc -O2 -o rectestprog.exe build-nt\rectest.obj Aap: Error in recipe "c:/program files/exec/test.aap" line 33: Shell returned 28 when executing: C:\Langs\Python22\python.exe rectest\test005.py "C:\Langs\Python22\python.exe" The executable was created, though, and running it gives: C:\Program Files\Exec>rectest\rectestprog.exe Goodbye World! If I move test005.py out of the rectest directory, everything else runs and I get the "TESTS COMPLETED SUCCESSFULLY" message. Dan Sharp |
From: Bram M. <Br...@mo...> - 2003-04-17 21:18:36
|
Dan Sharp wrote: > > I tried running the tests on MS-Windows with the latest version of Aap, > > but my "gcc" stopped working when I installed MS-Windows XP... Does > > running the tests work for you? > > With Cygwin in a bash prompt (thus using Cygwin's python 2.2), all the > tests are successful. With both MinGW and Cygwin in a cmd.exe prompt > (thus using ActivePython 2.2), all tests except rectest\test005.py are > successful. The output from test005 is: > > C:\Program Files\Exec>python aap.py > Aap: C:\Langs\Python22\python.exe rectest\test005.py > "C:\Langs\Python22\python.exe" > Aap: Creating directory "C:\Program Files\Exec\rectest\build-nt" > Aap: gcc -E -MM rectest.c > build-nt\rectest.c.aap > Aap: gcc -O2 -c -o build-nt\rectest.obj rectest.c > Aap: gcc -O2 -o rectestprog.exe build-nt\rectest.obj > Aap: gcc -E -MM rectest.c > build-nt\rectest.c.aap > Aap: gcc -O2 -c -o build-nt\rectest.obj rectest.c > Aap: gcc -O2 -o rectestprog.exe build-nt\rectest.obj > > Aap: Error in recipe "c:/program files/exec/test.aap" line 33: > Shell returned 28 when executing: > C:\Langs\Python22\python.exe rectest\test005.py > "C:\Langs\Python22\python.exe" > > The executable was created, though, and running it gives: > C:\Program Files\Exec>rectest\rectestprog.exe > Goodbye World! > > If I move test005.py out of the rectest directory, everything else runs > and I get the "TESTS COMPLETED SUCCESSFULLY" message. I installed a new version of DJGPP and ran into the same problem. The solution is simple: The main() function in test005 must return zero. Thus it's actually a problem in the test itself, not in Aap. *** rectest/test005.py~ Fri Apr 11 12:37:06 2003 --- rectest/test005.py Thu Apr 17 22:23:16 2003 *************** *** 51,57 **** f.write(""" #include <stdio.h> #include "%s" ! int main() { printf(the_text); } """ % incl) f.close() --- 51,57 ---- f.write(""" #include <stdio.h> #include "%s" ! int main() { printf(the_text); return 0;} """ % incl) f.close() I just noticed Aap didn't work with Python 1.5, because of the realpath() I copied from the Python 2.2 library. I have fixed that and will checkin the new version to CVS. -- hundred-and-one symptoms of being an internet addict: 4. Your eyeglasses have a web site burned in on them. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\ \\\ Project leader for A-A-P -- http://www.A-A-P.org /// \\\ Help AIDS victims, buy at Amazon -- http://ICCF.nl/click1.html /// |