Better "make clean"? Or easier configuration?
Linus Torvalds
torvalds at linux-foundation.org
Wed Apr 20 16:31:13 PDT 2016
So Fedora just upgraded their qt version today (or at least recently).
After that, building subsurface gets me
make[2]: *** No rule to make target
'/usr/lib64/libQt5Concurrent.so.5.5.1', needed by 'subsurface'.
Stop.
Oops. Ok, I'll just do "make clean".
That doesn't help, same error.
There's no "distclean" or similar target, but I *can* basically just do
ccmake .
and just hit 'c' and 'g' to (re-)configure and generate, and that does
fix the problem.
But this points out that it looks like even just the configuration
phase ends up creating dependencies that can change.
Normally, I'd just do "git clean -dqfx" and blow everything away,
which is what I do for the kernel, but the subsurface configuration
phase is *so* confusing that I absolutely hate doing that. The build
script does that, but it does so much else too..
For example, if you actually do "git clean -dqfx" to blow everything
away, and then do
mkdir build
cd build
cmake ..
it will fail on grantlee. I'm not sure why. I get
CMake Error at cmake/Modules/HandleFindGrantlee.cmake:10 (find_package):
By not providing "FindGrantlee5.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Grantlee5", but CMake did not find one.
even though I have grantlee built and installed (previously) using the
build script. I'm not sure why it finds libdivecomputer and marble in
the install-root directory, but not grantlee..
Yes, yes, I can fix this, but it sure isn't obvious.. Is there an
_obvious_ configuration setup, or perhaps just a better :"make clean"?
that leaves the configuration but re-builds it?
Linus
More information about the subsurface
mailing list