Ticket UUID: | 888c1a8c9d84c1f5da4a46352bbf531424fe7126 | |||
Title: | Build system issues with wacky paths | |||
Type: | Bug | Version: | 8.6.10 | |
Submitter: | anonymous | Created on: | 2020-11-12 14:39:52 | |
Subsystem: | 53. Configuration and Build Tools | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2020-11-13 08:52:05 | |
Resolution: | Fixed | Closed By: | jan.nijtmans | |
Closed on: | 2020-11-13 08:52:05 | |||
Description: |
We have a robustness test that stresses our code for paths with odd characters and spaces. We're trying to switch to using Tcl's native build systems, but it looks like Tcl's autotools build can't handle paths with spaces currently: /home/user/1 Odd_ source dir++/tcl8.6.10/unix/configure: line 721: test: too many arguments /home/user/1 Odd_ source dir++/tcl8.6.10/unix/configure: line 727: test: too many arguments configure: error: sources are in /home/cyapp/1 Odd_ source dir++/tcl8.6.10/unix, but `cd /home/user/1 Odd_ source dir++/tcl8.6.10/unix' does not work (There are a number of related errors - one was found to be a quoting issue: https://sourceforge.net/p/brlcad/code/77727 but after that was fixed more showed up. With normal paths the build and install complete successfully.) The below script tries to boil down the usage scenario to reproduce the problems in isolation: source, build and install directories with spaces as well as flag setting environment variables. #!/bin/bash mkdir "1 Odd_ source dir++" mkdir "1 Odd_ build dir++" mkdir "1 Odd_ install dir++" cd "1 Odd_ source dir++" tar -xvf ~/Downloads/tcl8.6.10-src.tar.gz cd "$HOME/1 Odd_ build dir++" export CPPFLAGS="-I$HOME/1 Odd_ install dir++/include" export LDFLAGS="-L$HOME/1 Odd_ install dir++/lib" "$HOME/1 Odd_ source dir++/tcl8.6.10/unix/configure" --prefix="$HOME/1 Odd_ install dir++" | |||
User Comments: |
jan.nijtmans added on 2020-11-13 08:52:05:
This is already fixed in this commit: [1f6f21856babdfec] I don't think having odd source/build directories is a priority, but it should be installable everywhere. However, if you find more fixes, feel free to report them here. So, please try out the "core-8-6-branch" (or "core-8-branch" or "main") first, and see if it's fixed there. If not, you can re-open this ticket. anonymous added on 2020-11-13 02:06:24: Never mind - it looks like autotools limitations make this impractical. The fix in https://sourceforge.net/p/brlcad/code/77727 is legit, but the more general case isn't worth worrying about. anonymous added on 2020-11-12 22:37:17: Update: we're trying to determine if source directory paths with spaces are supported by autotools - if not, the full generality of this situation may not be supportable. |