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
Disable auto-download by default + improve test stability #3076
Conversation
I am not sure, I think |
It is and we download dependencies if |
Looks like there is something wrong with the armadillo package detection. |
@rcurtin looks like some cert in the chain is outdated:
|
@mlpack-jenkins test this please |
1 similar comment
@mlpack-jenkins test this please |
@shrit does the cross-compiling expect that all deps are downloaded via the auto-downloader? When I run |
@zoq When cross-compiling we should only use the auto downloader to get the dependencies, we should not use the dependencies that are already installed on the machine. |
What is the reason for this? ensmallen and stb is header only, so we could just use whatever is available. Or even if it isn't a user should be able to specify what to use. Maybe I'm missing something? |
@zoq You have to download all dependencies when cross-compiling whether if they are header only or not, it does not matter. Header-only libraries make only the cross-compilation step easier and more comfortable since it removes the need to cross-compile the dependencies too. The main reason for this is to avoid including the host system header. For instance, if you try to use ensmallen headers that are installed on the host system (x86), you will have to use this path This is why we need a toolchain to cross-compile. Note that, It is true that a toolchain provides a cross-compiler, linkers, and all other compilations tools but it also provides the system roots, headers, and libraries that are unique for the target and they are different from the one installed on the host. This is the trick about the cross-compilation, all the That is why a lot of people consider cross-compilation as a nasty and painful thing to do. However, it is the only option we have when you need a lot of RAM to compile the project. Also, if you have an infrastructure that does that for you as we have done, with only a few things to compile, then there is nothing to worry about. |
Thanks for the clarification, do you think another way would be to copy or symlink the files into the You are right that having a static system where we know exactly what packages are used is ideal since it removes dependency issues, so I don't like to change that; we just have to make sure this is documented somewhere because people might wonder why dependencies are downloaded that already exist on the host system. |
@Yashwants19 do you make any sense out of:
looks like the same command works on macOS and Windows. |
@mlpack-jenkins test this please |
@@ -64,7 +63,7 @@ jobs: | |||
- name: CMake | |||
run: | | |||
mkdir build | |||
cd build && cmake -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON .. | |||
cd build && cmake -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON -DDOWNLOAD_DEPENDENCIES=ON .. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cd build && cmake -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON -DDOWNLOAD_DEPENDENCIES=ON .. | |
cd build && pwd && cmake -G"Unix Makefiles" -DDEBUG=OFF -DPROFILE=OFF -DBUILD_CLI_EXECUTABLES=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON -DDOWNLOAD_DEPENDENCIES=ON .. |
I read the log but don't really understand what happened. Can you try this? And maybe also add pwd
and ls
to the Build
step below too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Forgot to remove the previously used armadillo build command.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I didn't look high enough up in the log :)
Fun, new issue on the windows build, at least the R build is fixed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Thank you for putting so much time into the test fixes. Excited to see green builds again (minus the Windows builds I guess :)).
Co-authored-by: Ryan Curtin <ryan@ratml.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Second approval provided automatically after 24 hours. 👍
Looks like we never disabled the auto-download by default (#2953).