View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000854||Ecere SDK||installer||public||2013-04-24 13:52||2016-08-04 21:02|
|Priority||immediate||Severity||minor||Reproducibility||have not tried|
|Target Version||0.44.15||Fixed in Version||0.44.15|
|Summary||0000854: Fatal error: can't create obj/bootstrap.win32/Array.o: No such file or directory Document this is caused by some mkdir.exe|
|Description||Fatal error: can't create obj/bootstrap.win32/Array.o: No such file or directory|
Document this is caused by Git's or msys or Cygwin'd mkdir.exe
|Tags||No tags attached.|
Or fix the problem... Git, Msys, Cygwin in path
(We already handle this when MSYSCON is set I believe)
How to reproduce:
1. Install MingW (http://sourceforge.net/projects/mingw/files/). When the installer asks if you want to install MSys and Development tools, select yes. Add MingW to your path. Alternatively you can do this with nuwen.net distribution & msys git, or cygwin. Add these directories to your PATH. You should now have a Unix 'mkdir' as your default mkdir. (try mkdir -h)
2. Try to compile Ecere in cmd.exe, or in sh/bash with MSYSCON unset (i.e., not set to sh.exe or bash.exe). You will get this error.
3. Similar errors also come up when trying to build project in the ide if MSYSCON isn't set as an environmental variable.
Defining MSYSCON in environmental variables in Windows fixes these problem, but msys git distribution which comes with bash does not set this by default, along with other things. Also, even if MSYSCON is set by your shell, it does not mean it is set as an environmental variable thus projects could still fail building from the ide.
OK, I don't think any installer actually adds these Unix tools to your system path by default. MSYS or Cygwin are intended to be used as part of their own 'shell' terminal, e.g. by starting 'msys.bat' , which does set MSYSCON properly.
So I can see 2 options:
1. We just document the error, easy to find, with a warning that MSYSCON *must* be set on Windows if you are running these mkdir.exe replacement
2. In crossplatform.mk, we test the output of 'mkdir' (if that is easily feasible)
Windows mkdir will say:
The syntax of the command is incorrect.
Whereas this mkdir.exe will say:
mkdir: missing operand
Try `mkdir --help' for more information.
And automatically set MSYSCON if we get the latter output
msysGit ( http://msysgit.github.io/ ) includes git-bash.bat which does not set MSYSCON. It is actually pretty popular to use these days, too.
old link: https://code.google.com/p/msysgit/
testing this with latest changes (and making further small improvements) to file system tools detection on windows...
I have something that works for modern msys, msys2, git-bash and withing git shell (compiling via a git rebase, see coommit).
the commit also fixes issues with calling make with space in the path
redj@ecere-pc MINGW64 /d/t/e-tmp-compile-test-utility ((fabb6e8...))
$ make -j8
/usr/bin/sh: C:/Program: No such file or directory
makefile:196: recipe for target `deps' failed
make: *** [deps] Error 127
make: *** Waiting for unfinished jobs....
there will still be a problem if someone has linux tools in windows path when compiling with windows console but this is such a messed up case that I don't think we want to waste the time to improve the outcome in this odd case. anybody finding themselves in that case? I hope not.
so for now. will not fix further. will work for all the reasonable cases.
Closed for 0.44.15
|2013-04-24 13:52||redj||New Issue|
|2013-04-24 19:57||jerome||Priority||normal => immediate|
|2013-04-24 20:06||jerome||Summary||Fatal error: can't create obj/bootstrap.win32/Array.o: No such file or directory Document this is caused by some mkdir.ece => Fatal error: can't create obj/bootstrap.win32/Array.o: No such file or directory Document this is caused by some mkdir.exe|
|2013-04-24 20:07||jerome||Note Added: 0000721|
|2013-04-26 20:43||Kelet||Note Added: 0000747|
|2013-04-26 21:07||jerome||Note Added: 0000748|
|2013-04-26 22:34||Kelet||Note Added: 0000750|
|2013-05-06 07:08||redj||Note Edited: 0000750|
|2016-04-19 05:28||jerome||Assigned To||=> redj|
|2016-04-19 05:28||jerome||Status||new => assigned|
|2016-04-19 05:28||jerome||Target Version||0.44.12 Fixes => 0.44.15|
|2016-07-16 00:20||redj||Note Added: 0001395|
|2016-07-16 00:28||redj||Note Edited: 0001395||View Revisions|
|2016-08-03 13:10||jerome||Note Added: 0001409|
|2016-08-03 13:10||jerome||Status||assigned => resolved|
|2016-08-03 13:10||jerome||Fixed in Version||=> 0.44.15|
|2016-08-03 13:10||jerome||Resolution||open => fixed|
|2016-08-04 21:02||jerome||Note Added: 0001421|
|2016-08-04 21:02||jerome||Status||resolved => closed|