CMake is searching for packages in a strange location
I have been trying to track down why CMake find_package
is finding the wrong package in my build. From CMake find_package: where did it find the package? I learned how to get it to tell me what paths it was searching, and thus where it found the package. But now I need to figure out why CMake is searching a certain path, because it is searching in a non-default location for some reason. I checked the variables
CMAKE_MODULE_PATH
CMAKE_PREFIX_PATH
CMAKE_INCLUDE_PATH
CMAKE_LIBRARY_PATH
CMAKE_PROGRAM_PATH
but they are empty. The variable
CMAKE_SYSTEM_PREFIX_PATH
is non-empty, but all it contains is
/usr/local;/usr;/;/usr;/tmp/pip-req-build-ckl98h8g/build/lib.linux-x86_64-3.6
so that is not the reason.
What else can make CMake search some strange prefix?
The exact problem is the following: find_package(yaml-cpp)
is searching as follows:
...
Checking prefix [/]
Checking file [/yaml-cppConfig.cmake]
Checking file [/yaml-cpp-config.cmake]
Checking prefix [/usr/games/]
Checking file [/usr/games/yaml-cppConfig.cmake]
Checking file [/usr/games/yaml-cpp-config.cmake]
Checking prefix [/usr/local/games/]
Checking file [/usr/local/games/yaml-cppConfig.cmake]
Checking file [/usr/local/games/yaml-cpp-config.cmake]
Checking prefix [/snap/]
Checking file [/snap/yaml-cppConfig.cmake]
Checking file [/snap/yaml-cpp-config.cmake]
Checking prefix [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cppConfig.cmake]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cpp-config.cmake]
It finds the package config file in that last path. But that is some private build directory of some other code, so I have no idea why find_package
would search there. Some variable somewhere must have told it to do so, but I don't know which one. I do not want this path to be searched.
cmake cmake-modules
add a comment |
I have been trying to track down why CMake find_package
is finding the wrong package in my build. From CMake find_package: where did it find the package? I learned how to get it to tell me what paths it was searching, and thus where it found the package. But now I need to figure out why CMake is searching a certain path, because it is searching in a non-default location for some reason. I checked the variables
CMAKE_MODULE_PATH
CMAKE_PREFIX_PATH
CMAKE_INCLUDE_PATH
CMAKE_LIBRARY_PATH
CMAKE_PROGRAM_PATH
but they are empty. The variable
CMAKE_SYSTEM_PREFIX_PATH
is non-empty, but all it contains is
/usr/local;/usr;/;/usr;/tmp/pip-req-build-ckl98h8g/build/lib.linux-x86_64-3.6
so that is not the reason.
What else can make CMake search some strange prefix?
The exact problem is the following: find_package(yaml-cpp)
is searching as follows:
...
Checking prefix [/]
Checking file [/yaml-cppConfig.cmake]
Checking file [/yaml-cpp-config.cmake]
Checking prefix [/usr/games/]
Checking file [/usr/games/yaml-cppConfig.cmake]
Checking file [/usr/games/yaml-cpp-config.cmake]
Checking prefix [/usr/local/games/]
Checking file [/usr/local/games/yaml-cppConfig.cmake]
Checking file [/usr/local/games/yaml-cpp-config.cmake]
Checking prefix [/snap/]
Checking file [/snap/yaml-cppConfig.cmake]
Checking file [/snap/yaml-cpp-config.cmake]
Checking prefix [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cppConfig.cmake]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cpp-config.cmake]
It finds the package config file in that last path. But that is some private build directory of some other code, so I have no idea why find_package
would search there. Some variable somewhere must have told it to do so, but I don't know which one. I do not want this path to be searched.
cmake cmake-modules
add a comment |
I have been trying to track down why CMake find_package
is finding the wrong package in my build. From CMake find_package: where did it find the package? I learned how to get it to tell me what paths it was searching, and thus where it found the package. But now I need to figure out why CMake is searching a certain path, because it is searching in a non-default location for some reason. I checked the variables
CMAKE_MODULE_PATH
CMAKE_PREFIX_PATH
CMAKE_INCLUDE_PATH
CMAKE_LIBRARY_PATH
CMAKE_PROGRAM_PATH
but they are empty. The variable
CMAKE_SYSTEM_PREFIX_PATH
is non-empty, but all it contains is
/usr/local;/usr;/;/usr;/tmp/pip-req-build-ckl98h8g/build/lib.linux-x86_64-3.6
so that is not the reason.
What else can make CMake search some strange prefix?
The exact problem is the following: find_package(yaml-cpp)
is searching as follows:
...
Checking prefix [/]
Checking file [/yaml-cppConfig.cmake]
Checking file [/yaml-cpp-config.cmake]
Checking prefix [/usr/games/]
Checking file [/usr/games/yaml-cppConfig.cmake]
Checking file [/usr/games/yaml-cpp-config.cmake]
Checking prefix [/usr/local/games/]
Checking file [/usr/local/games/yaml-cppConfig.cmake]
Checking file [/usr/local/games/yaml-cpp-config.cmake]
Checking prefix [/snap/]
Checking file [/snap/yaml-cppConfig.cmake]
Checking file [/snap/yaml-cpp-config.cmake]
Checking prefix [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cppConfig.cmake]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cpp-config.cmake]
It finds the package config file in that last path. But that is some private build directory of some other code, so I have no idea why find_package
would search there. Some variable somewhere must have told it to do so, but I don't know which one. I do not want this path to be searched.
cmake cmake-modules
I have been trying to track down why CMake find_package
is finding the wrong package in my build. From CMake find_package: where did it find the package? I learned how to get it to tell me what paths it was searching, and thus where it found the package. But now I need to figure out why CMake is searching a certain path, because it is searching in a non-default location for some reason. I checked the variables
CMAKE_MODULE_PATH
CMAKE_PREFIX_PATH
CMAKE_INCLUDE_PATH
CMAKE_LIBRARY_PATH
CMAKE_PROGRAM_PATH
but they are empty. The variable
CMAKE_SYSTEM_PREFIX_PATH
is non-empty, but all it contains is
/usr/local;/usr;/;/usr;/tmp/pip-req-build-ckl98h8g/build/lib.linux-x86_64-3.6
so that is not the reason.
What else can make CMake search some strange prefix?
The exact problem is the following: find_package(yaml-cpp)
is searching as follows:
...
Checking prefix [/]
Checking file [/yaml-cppConfig.cmake]
Checking file [/yaml-cpp-config.cmake]
Checking prefix [/usr/games/]
Checking file [/usr/games/yaml-cppConfig.cmake]
Checking file [/usr/games/yaml-cpp-config.cmake]
Checking prefix [/usr/local/games/]
Checking file [/usr/local/games/yaml-cppConfig.cmake]
Checking file [/usr/local/games/yaml-cpp-config.cmake]
Checking prefix [/snap/]
Checking file [/snap/yaml-cppConfig.cmake]
Checking file [/snap/yaml-cpp-config.cmake]
Checking prefix [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cppConfig.cmake]
Checking file [/home/farmer/repos/gambit/copy3/build/contrib/yaml-cpp-0.6.2/yaml-cpp-config.cmake]
It finds the package config file in that last path. But that is some private build directory of some other code, so I have no idea why find_package
would search there. Some variable somewhere must have told it to do so, but I don't know which one. I do not want this path to be searched.
cmake cmake-modules
cmake cmake-modules
asked Nov 21 '18 at 12:34
Ben FarmerBen Farmer
824517
824517
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Ok I think the answer is that CMake follows a horribly complicated procedure to search all over the place for packages. In my case it seems that it found something under
~/.cmake/packages/<package>
which then must have directed it to the strange prefix I was seeing. Deleting this package registry entry fixed the problem. The full search procedure that CMake follows is described towards the end of the find_package
documentation: https://cmake.org/cmake/help/v3.0/command/find_package.html
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53412161%2fcmake-is-searching-for-packages-in-a-strange-location%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Ok I think the answer is that CMake follows a horribly complicated procedure to search all over the place for packages. In my case it seems that it found something under
~/.cmake/packages/<package>
which then must have directed it to the strange prefix I was seeing. Deleting this package registry entry fixed the problem. The full search procedure that CMake follows is described towards the end of the find_package
documentation: https://cmake.org/cmake/help/v3.0/command/find_package.html
add a comment |
Ok I think the answer is that CMake follows a horribly complicated procedure to search all over the place for packages. In my case it seems that it found something under
~/.cmake/packages/<package>
which then must have directed it to the strange prefix I was seeing. Deleting this package registry entry fixed the problem. The full search procedure that CMake follows is described towards the end of the find_package
documentation: https://cmake.org/cmake/help/v3.0/command/find_package.html
add a comment |
Ok I think the answer is that CMake follows a horribly complicated procedure to search all over the place for packages. In my case it seems that it found something under
~/.cmake/packages/<package>
which then must have directed it to the strange prefix I was seeing. Deleting this package registry entry fixed the problem. The full search procedure that CMake follows is described towards the end of the find_package
documentation: https://cmake.org/cmake/help/v3.0/command/find_package.html
Ok I think the answer is that CMake follows a horribly complicated procedure to search all over the place for packages. In my case it seems that it found something under
~/.cmake/packages/<package>
which then must have directed it to the strange prefix I was seeing. Deleting this package registry entry fixed the problem. The full search procedure that CMake follows is described towards the end of the find_package
documentation: https://cmake.org/cmake/help/v3.0/command/find_package.html
answered Nov 21 '18 at 12:48
Ben FarmerBen Farmer
824517
824517
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53412161%2fcmake-is-searching-for-packages-in-a-strange-location%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown