[cmake-developers] General Config.cmake file issue on ArchLinux
Alexander Neundorf
neundorf at kde.org
Sat Nov 17 14:24:42 EST 2012
Hi,
maybe I am missing something, but here we go:
on 64bit ArchLinux installations, /lib64/ is a symlink to /usr/lib/.
/bin/ and /usr/bin/ are normal directories, no symlinks.
Now if a Config.cmake files is installed into /usr/lib/foo/, and references
other files of its installations using relative paths from its own location to
e.g. /usr/bin/ (../../bin/ ), there is breakage.
CMake finds FooConfig.cmake in /lib64/foo/FooConfig.cmake (which it seems to
search before /usr/lib). Then it goes ../../bin/, but doesn't end up in
/usr/bin/, where e.g. some executable is located, but instead it goes to
/lib64/foo/../../bin/, which is /bin/, but the expected executable is not
there, and so the FooConfig.cmake file fails.
I'm not sure what the right way to deal with this is.
Is this only on ArchLinux ?
If so, maybe the best thing to do is to tell the ArchLinux developers to set
up their symlinks in a different way ?
Having e.g. /usr/lib64/ point to /usr/lib/ would make it work I think.
Or if /lib64/ points to /usr/lib/, then maybe /bin/ should also point to
/usr/bin/.
Other ideas ?
Or can CMake be tweaked to handle this ?
Alex
More information about the cmake-developers
mailing list