-
-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ninja: Cross-compiling in subfolder fails #4342
Comments
in your list of sources in the subdir sconscript, the items are not properly comma-separated, which means string catenation is in effect. Is that just a transcription error, or does it change the behavior to fix that? (a little hard to reproduce here, since don't have |
It's a transcription error my bad, I'm going to correct that. |
@mwichmann ccppc is sadly a private compiler, but if that helps, it's GCC 3.3.2 based compiled for windows (Yes an antique) |
Maybe post a snip from the
|
Can't tell much from that, personally, but the line that starts with BUILD looks like the end is garbled? |
BTW, when I asked can you post more, I was hoping the sample pasted into the issue here was a working (broken) repro, and you could paste info from that. |
Here is one of the generated ninja rule:
And the text outut:
|
I'm sorry I can't dedicate much more time for a sample repo right now, but if I can I will |
@mwichmann Is it possible that the text after BUILD are terminal control characters? The exact sequence shows up in (at least the first link): |
sure, it's possible... since an external tool is involved (ninja) it's kind of hard to see what's going on, so failure to find a file and a display that shows extra chars possibly attached to a filename raised suspicions. Just guessing at the moment. |
How did you install ninja on your system? |
From the error, looks like either ninja couldn't be found, or Can you try specifing ccppc in your example SConstruct with it's full path rather than just as |
ninja produces this error when the binary it's trying to execute is not in the path:
It is trying to create a subprocess to perform some task and the binary it tried to use in that process creation can not be found. SCons does not generally rely on shell environment from the shell its launched from (unless you manually forced it do so) and so SCons is constructing a path internally for the commands it needs to run. Ninja however requires you to setup the shell, because it is launching the process with the given binary from the current shell environment. |
looking at your SConstruct a little closer I see its setting the PLATFORM to 'posix', this is causing ninja to use |
I tried two ways, one with the executable inside the root folder of the project and one with the
I will try a little later.
Yes sadly it's a bit of a tricky environment where I'm on windows but I need posix-style commands/arguments. I tried |
Sounds more like mingw type environment? |
Bug description
When cross-compiling a static library in a subfolder, the generated ninja doesn't work and fail with this error:
Tools
Setup/To redproduce
SConstruct
:SConsript
:subfolder-a\subfolder-b\SConscript
:The text was updated successfully, but these errors were encountered: