question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

options with * are not applied to the root package

See original GitHub issue

Example: I want to install some modular Boost package which requires other Boost packages. I want all of them to be shared. The intuitive command would be conan install Boost.Test/1.65.1@user/testing -o Boost.*:shared=True But that installs only the requirements shared, the main package (Boost.Test) is static. To avoid that, I need to do conan install Boost.Test/1.65.1@user/testing -o Boost.*:shared=True -o shared=True Is that the intended behaviour? If so, I would at least add a warning in the docs.

Conan 1.0.3, Windows

  • I’ve read the CONTRIBUTING guide.
  • I’ve specified the Conan version, operating system version and any tool that can be relevant.
  • I’ve explained the steps to reproduce the error or the motivation/use case of the question/suggestion.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
uilianriescommented, Jan 27, 2018

Before to read your comment I collected some new information.

Running boost_level8group/1.66.0@bincrafters/testing on lasote/conangcc6

conan create . bincrafters/testing -o boost_*:shared=False -s build_type=Debug -s arch=x86_64
self.options.values.sha: dec258f52d7fbdc727ec855c4f01c6ea1fbebd96
self.settings.values.sha: a8d08f4bdb8a8acb1c6d222aec1e0a22832c7fcc
package_id: 58e66c5755b9eb1f3b6e68b70ed92e6ac5c1684a

conan create . bincrafters/testing -o boost_*:shared=False -s build_type=Debug -s arch=x86
self.options.values.sha: dec258f52d7fbdc727ec855c4f01c6ea1fbebd96
self.settings.values.sha: f15349e9dcb23b1fb9ff0194a644656b09dec080
package_id: bf58d220ad869d99debf26b4229194054ba7a256

conan create . bincrafters/testing -o boost_*:shared=True -s build_type=Debug -s arch=x86
self.options.values.sha: 014a8596924f47db5825e2b38c39f4fc2daa5622
self.settings.values.sha: f15349e9dcb23b1fb9ff0194a644656b09dec080
package_id: bf58d220ad869d99debf26b4229194054ba7a256

conan create . bincrafters/testing -o boost_*:shared=True -s build_type=Debug -s arch=x86_64
self.options.values.sha: 014a8596924f47db5825e2b38c39f4fc2daa5622
self.settings.values.sha: a8d08f4bdb8a8acb1c6d222aec1e0a22832c7fcc
package_id: 58e66c5755b9eb1f3b6e68b70ed92e6ac5c1684a

conan create . bincrafters/testing -o boost_*:shared=True -s build_type=Release -s arch=x86_64
self.options.values.sha: 014a8596924f47db5825e2b38c39f4fc2daa5622
self.settings.values.sha: fedb4c9d2e5b701bca67c2028747f524852d272b
package_id: dc6456f4704958f26592d9cfc6fa47e91447bd41

conan create . bincrafters/testing -o boost_*:shared=True -s build_type=Release -s arch=x86
self.options.values.sha: 014a8596924f47db5825e2b38c39f4fc2daa5622
self.settings.values.sha: 16d0f8c0499a6f4337674481cad90a9a7a6d5835
package_id: 9f4335386f678dc053976aeaed83b4a6e4bf4b5e

conan create . bincrafters/testing -o boost_*:shared=False -s build_type=Release -s arch=x86
self.options.values.sha: dec258f52d7fbdc727ec855c4f01c6ea1fbebd96
self.settings.values.sha: 16d0f8c0499a6f4337674481cad90a9a7a6d5835
package_id: 9f4335386f678dc053976aeaed83b4a6e4bf4b5e

conan create . bincrafters/testing -o boost_*:shared=False -s build_type=Release -s arch=x86_64
self.options.values.sha: dec258f52d7fbdc727ec855c4f01c6ea1fbebd96
self.settings.values.sha: fedb4c9d2e5b701bca67c2028747f524852d272b
package_id: dc6456f4704958f26592d9cfc6fa47e91447bd41

package_id was collected by self.info.package_id() self.options.values.sha was collected by self.options.values.shaself.settings.values.sha was collected byself.settings.values.sha`

Now I chose two results to compare:

conan create . bincrafters/testing -o boost_*:shared=False -s build_type=Debug -s arch=x86_64
self.options.values.sha: dec258f52d7fbdc727ec855c4f01c6ea1fbebd96
self.settings.values.sha: a8d08f4bdb8a8acb1c6d222aec1e0a22832c7fcc
package_id: 58e66c5755b9eb1f3b6e68b70ed92e6ac5c1684a

conan create . bincrafters/testing -o boost_*:shared=True -s build_type=Debug -s arch=x86_64
self.options.values.sha: 014a8596924f47db5825e2b38c39f4fc2daa5622
self.settings.values.sha: a8d08f4bdb8a8acb1c6d222aec1e0a22832c7fcc
package_id: 58e66c5755b9eb1f3b6e68b70ed92e6ac5c1684a

Both uses the same settings, but the options are not the same. The package id is the same for both two. Looks like when options contains * the package id skip it on append.

I used the latest Conan version (1.0.3)

0reactions
solvingjcommented, Jan 28, 2018

FYI, we’ve worked around it. Our shared code for building the boost packages with conan-package-tools now passes both shared options when building. Whenever it gets patched in conan, great… but it’s not blocking us at the moment.

Read more comments on GitHub >

github_iconTop Results From Across the Web

'package.json' is not under 'rootDir' - Stack Overflow
solution: use separate Typescript sub-projects · Give the src dir its own project. ./src/tsconfig.json : · Give the root dir its own project....
Read more >
Troubleshooting NuGet Package Restore in Visual Studio
Set both options under Package Restore. ... the error means that the package is not installed in the packages folder at the solution...
Read more >
Shared Options | Vite
If you have duplicated copies of the same dependency in your app (likely due to hoisting or linked packages in monorepos), use this...
Read more >
package.json - npm Docs
Description. This document is all you need to know about what's required in your package.json file. It must be actual JSON, not just...
Read more >
Content roots | IntelliJ IDEA Documentation - JetBrains
From the main menu, select File | Project Structure Ctrl+Alt+Shift+S and click Project Settings | Modules. · Select the necessary module and then...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found