View Issue Details

IDProjectCategoryView StatusLast Update
0000854Ecere SDKinstallerpublic2016-08-04 21:02
Reporterredj Assigned Toredj  
PriorityimmediateSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.44.07 
Target Version0.44.15Fixed in Version0.44.15 
Summary0000854: Fatal error: can't create obj/bootstrap.win32/Array.o: No such file or directory Document this is caused by some mkdir.exe
DescriptionFatal 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
TagsNo tags attached.

Activities

jerome

2013-04-24 20:07

administrator   ~0000721

Or fix the problem... Git, Msys, Cygwin in path
(We already handle this when MSYSCON is set I believe)

Kelet

2013-04-26 20:43

reporter   ~0000747

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.

jerome

2013-04-26 21:07

administrator   ~0000748

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

Kelet

2013-04-26 22:34

reporter   ~0000750

Last edited: 2013-05-06 07:08

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/

redj

2016-07-16 00:20

administrator   ~0001395

Last edited: 2016-07-16 00:28

View 2 revisions

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
Building dependencies...
/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.

jerome

2016-08-03 13:10

administrator   ~0001409

Fixed by:
https://github.com/ecere/ecere-sdk/commit/2d77fea98162023230873156459bbcc93677e115

jerome

2016-08-04 21:02

administrator   ~0001421

Closed for 0.44.15

https://github.com/ecere/ecere-sdk/commit/37ac4ab4b983a5764f76d7fd77f6658924da8be0

Issue History

Date Modified Username Field Change
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