conan: short_paths directory does not exist when build() gets called

We’re using the short_paths option on a number of our components because they have quite long names. Often we get the following error:

MyComponent/3.3.1@MyUser/thirdparty: Installing package bc88889b8e5ae166c1c71ad0e2b2ca98f4714a59
MyComponent/3.3.1@MyUser/thirCMake Error: The source directory "d:/.conan/tmp5vkq7x/MyComponent" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
dparty: Looking for package bc88889b8e5ae166c1c71ad0e2b2ca98f4714a59 in remote 'MyRemote' 
MyComponent/3.3.1@MyUser/thirdparty: WARN: Binary for bc88889b8e5ae166c1c71ad0e2b2ca98f4714a59 not in remote: 
MyComponent/3.3.1@MyUser/thirdparty: Building your package in d:/.conan\tmp5vkq7x
MyComponent/3.3.1@MyUser/thirdparty: Copying sources to build folder
MyComponent/3.3.1@MyUser/thirdparty: Generated cmake created conanbuildinfo.cmake
++++++++++++++++++++++THIS IS A PRINT FROM THE build() FUNCTION++++++++++++++
MyComponent/3.3.1@MyUser/thirdparty: ERROR: Package 'tmp5vkq7x' build failed

Notice how the CMake Error is splitting up the conan output. Also the output that the package gets build in d:\.conan\... comes later than the CMake error. If I look at d:\.conan\ after all this is over I see the needed directory there (with just a conanbuildinfo.cmake in there).

It looks to me as if Conan trying to build the component before the directory has been created entirely.

I’m unsure how I could provide more information or how this could be reproduced… It does not happen everytime. Just wanted to report it as early as possible.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 16 (16 by maintainers)

Most upvoted comments

Yeah that’s right. It’s essentially like this:

MyComponent
  - conanfile.py
  - MyComponent
  - - src
  - - CMakeLists.txt

Could you try to remove it and try again?

Removing the directory and retrying made the problem disappear…