-
Notifications
You must be signed in to change notification settings - Fork 125
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
Fails to build in path containing spaces when no system TCL is available #199
Comments
Thanks for the report. This could be fixed with the following change:
However trying to build in a directory with spaces in the name is just asking for trouble. It will likely break all manner of things. |
Thanks Steve! That fixes the build-problem, and I'd never have figured out how to do that myself 😄
and
which presumably also need to be quoted?
Normally I'd agree with you, however you can never predict what a user might try... raspberrypi/pico-setup#17
According to the extensive testing done by @michaelstoops , EDIT: And
and
|
I've pushed some changes. Hopefully this will fix all the problems. |
Fantastic, thanks so much @msteveb ! 👍 |
Disclaimer: I'm not a TCL programmer, and I've never used TCL directly, but it's causing occasional build-problems for https://github.com/raspberrypi/pico-setup (where it's a dependency of openocd).
If there's a space in the filepath containing the
jimtcl
folder, when you try to build you get an error like:because the full-path isn't being properly quoted in the Makefile.
When I tried reproducing this on my main Ubuntu laptop, I was surprised to discover that it built fine even when I had spaces in my filepath! But then when I looked at the Makefile I noticed that it was then using my system-installed
tclsh
(which is in a path without any spaces), and that probably explains why this bug has been undiscovered for so long! Only after I'd uninstalled all my "system tcl" programs, was I able to reproduce the problem on my Ubuntu laptop.So for now, the easiest way to reproduce is using something like Docker.
Fire up a Debian docker image using
sudo docker run -it debian
and then within that docker image run the following sequence of commands:This shows that jimtcl is able to successfully build inside this Docker image in a path without spaces.
But if you then do:
it instantly fails with
I did have a quick go at fixing this myself (so that I could submit a PR), but I didn't have any idea what all the autosetup stuff was doing, which is why I'm submitting an issue instead 😉
The text was updated successfully, but these errors were encountered: