Conan: Regressions between 0.29.2 and 0.30.1

Created on 13 Dec 2017  路  6Comments  路  Source: conan-io/conan

Hi!

I've downloaded the latest release earlier, and I had a weird bug (I failed to reproduce it with a minimal example...)

I have a package which has a build requirement on llvm/5.0@theo/stable. When running conan create I have an error at the test_package step, something about missing headers.

I dug up a bit and found something very strange with the generated conanbuildinfo.*:

[includedirs]
/Users/theo/.conan/data/llvm/5.0/theo/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/c++/v1

[libdirs]
/Users/theo/.conan/data/mylib/0.1/theo/stable/package/134df78716d13a41ecdfe642041a3f27d5280323/lib

As you can see, the includedirs got overwritten by the llvm ones.

Funny enough, this only happens when running conan create... conan test works fine!
Here is the conanbuildinfo.txt generated by the latter command:

[includedirs]
/Users/theo/.conan/data/llvm/5.0/theo/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include
/Users/theo/.conan/data/llvm/5.0/theo/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/c++/v1
/Users/theo/.conan/data/mylib/0.1/theo/stable/package/134df78716d13a41ecdfe642041a3f27d5280323/include

[libdirs]
/Users/theo/.conan/data/mylib/0.1/theo/stable/package/134df78716d13a41ecdfe642041a3f27d5280323/lib

And the relevant lines in the conanbuildinfo.cmake:

set(CONAN_MYLIB_ROOT "/Users/theo/.conan/data/mylib/0.1/theo/stable/package/134df78716d13a41ecdfe642041a3f27d5280323")
set(CONAN_INCLUDE_DIRS_MYLIB )
set(CONAN_LIB_DIRS_MYLIB "/Users/theo/.conan/data/mylib/0.1/theo/stable/package/134df78716d13a41ecdfe642041a3f27d5280323/lib")

When running conan test:

set(CONAN_INCLUDE_DIRS_MYLIB "/Users/theo/.conan/data/mylib/0.1/theo/stable/package/134df78716d13a41ecdfe642041a3f27d5280323/include")

Reverting to 0.29.2 fixes the issue.
I tried to debug conan sources but my understanding of the code base + my python skills are a bit limited.

bug

Most helpful comment

It works :)

All 6 comments

Thanks for the report. We will inmmediately have a look!

A couple of quick questions:

  • How is the build_require defined: in the profile applied to all packages?
  • What is your dependency graph: you have an app, that depends on mylib? Both of them have the build_require?

Reproduced, it comes from the usage of ycm generator.

We've released 0.30.2, please try it and tell us if you find any problem.

It works :)

Was this page helpful?
0 / 5 - 0 ratings