Replies: 3 comments 13 replies
-
That's something I've been wanting too, but it could turn into a can of worms, I'm not sure... I know @jpakkane is against interactive mode, but IMHO with an explicit option
Why would they change? I think the main use-case here is a missing pkgconfig file. User installed the -dev package and Meson can retry the dependency lookup. |
Beta Was this translation helpful? Give feedback.
-
At least on Linux, environment variables cannot be changed from a sub- or parallel process. This is either good, as it doesn't interfere with previous dependency lookups, or bad, because you can't actually install a dependency and continue if that needs to update the environment too. For example, a dependency whose pkg-config file is installed to a custom $PKG_CONFIG_PATH. I can't remember offhand if restarting a failed Note that many projects list their dependencies in README.md as e.g. "run this command to install all dependencies on Debian, or this other command to install all dependencies on Fedora". This eliminates the guesswork. |
Beta Was this translation helpful? Give feedback.
-
Maybe an alternative would be print a summary of not-found optional dependencies at the end of the first configure. Then you can install them and reconfigure with -Dauto_features=enabled? |
Beta Was this translation helpful? Give feedback.
-
When configuring a large project, probably with lots of subprojects (I'm currently trying to compile gstreamer), often some unresolved dependencies show up. Usually they can be fixed very easily by just a single call to a package manager. Then, the configuring process starts from the beginning, until the next missing dependency is found. A lot of time is wasted on things that essentially were already done.
Of course, it is not Meson's job to solve the dependencies. But would it be possible to allow for some "interactive" fixing - for example, do not terminate, but instead either provide an option
and the meson continues where it was.
Something that may be an issue here is that environment variables might have changed and should be re-read when retrying. Would this interfer with previous dependency resolutions? If they were turned into absolute paths at their time of resolution, this should not cause any issues.
Beta Was this translation helpful? Give feedback.
All reactions