-
Notifications
You must be signed in to change notification settings - Fork 190
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
Running make
in a configured wasi-sdk tree installs things into /usr/local
#442
Comments
make
in wasi-sdk installs things into /usr/local
make
in a configured wasi-sdk tree installs things into /usr/local
Double-checking my assumptions, the README suggests that the |
I agree, only the BTW, unless you run a root copying stuff to The problem of not being able to cleanup file installed by |
I think so.
I have On macOS this is done by default by Homebrew so this setup is actually quite common.
Yes, which is why I put such an emphasis on not installing them there in the first place. |
This is sort of intended sort of not. With the previous This is made difficult due to the dependencies between projects. For example if you want to build libcxx you have to previously build and install wasi-libc. It's not sufficient to simply build wasi-libc, it's got to get installed so clang knows how to pick it up. This all worked before because the installation directory was fixed to be inside of the build directory. I'm happy to help implement other changes here, but the best I can think of is to either (1) error or warn on a missing I don't know how to architect things here such that it's a classic "run |
Its a little confusing here since we want to do installation-like things as part of our build. The building and installing of things into the sysroot should probably all be done locally inside the build directory. (i.e. llvm and clang should be configure to install into a location that is inside of the wasi-sdk build directory). Actualy running I think just having |
Certainly typing |
I think this is the only option that's really not okay as that's very easy to miss and basically no well-behaved software installs stuff into |
This changes everything to ensure that only the `install` step actually tries to install things. Everything is staged into temporary `./install` folders inside of the build directory and then running the build system's `install` target will actually copy out everything using CMake builtins. Closes WebAssembly#442
I'll note I'm not defending the current state of affairs. My testing didn't surface this and I'm not a day-in-day-out C/C++ guru so this wasn't the first thing I looked to design when writing the CMake integration. I wanted to mostly outline the various options I thought were possible. Regardless #446 should implement this. |
Ah I see. #446 is perfect, thank you! |
* Update build of toolchain/sysroot to not touch installation root This changes everything to ensure that only the `install` step actually tries to install things. Everything is staged into temporary `./install` folders inside of the build directory and then running the build system's `install` target will actually copy out everything using CMake builtins. Closes #442 * Better integrate generating a version file
Thanks for fixing this again! |
I did not expect this behavior (normally only
make install
does that, which I was going to run withDESTDIR=
, as usual) and it is fairly unwelcome in that I don't know how or if I can uninstall those files.The text was updated successfully, but these errors were encountered: