Replies: 10 comments
-
|
Beta Was this translation helpful? Give feedback.
-
We were working around this issue by installing |
Beta Was this translation helpful? Give feedback.
-
Tomorrow I will look at the mumble powershell script handling the vcpkg, ports and features installation to see if I can spot something.
I did see during my cursory look that each port is being installed with a vcpkg install for each port.
It is possible a prerequisite port is being installed with default/core only features then later on the same prerequisite port is required needing an optional feature in addition to the default/core features.
In this case, vcpkg will fail unless the vcpkg install command line includes the --recurse option. This basically tells vcpkg to remove the port then reinstall if with what ever features are currently installed plus the additional features needed now.
Of course putting all the ports on the same vcpkg install command line, vcpkg will compute the best order to install the ports with all required features.
Or if you study each port, features and prerequisite ports features you could order them in the for each powershell loop and accomplish the same results but would require more maintenance than just letting vcpkg take care of it.
|
Beta Was this translation helpful? Give feedback.
-
It appears our script might have been installing |
Beta Was this translation helpful? Give feedback.
-
@ZeroAbility
|
Beta Was this translation helpful? Give feedback.
-
I appreciate the help. I have submitted a PR for the revised script that installs all packages as an array param to the powershell function, as you suggested.
That seems like a lot of potential pitfalls when people already have a partial prerequisite installed and have to remove that and possibly other packages in order to satisfy the requirements of both needed dependents. A lot of the Qt packages take a while to build. Our scenario is mostly straightforward, and making the change you suggested is feasible. I hope this project continues to mature so this isn't a concern. Thanks again. :) |
Beta Was this translation helpful? Give feedback.
-
You are most welcome! |
Beta Was this translation helpful? Give feedback.
-
Hi @ZeroAbility Sorry for the delay. Please let me know if you have other concerns about this issue. Thanks for your help. It's so nice of you. |
Beta Was this translation helpful? Give feedback.
-
@NancyLi1013 You are most welcome! |
Beta Was this translation helpful? Give feedback.
-
We resolved this with the suggestion from @StarGate-One. I'm still concerned that in a different scenario this issue may come up again. This leads me to believe the files that get copied over should be verified and complete. Not every use case is going to be as simple as adding all of the needed packages, and reinstalling may not always be a good option. Especially when dealing with Qt components. |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
Specifying
--clean-after-build
removes files other dependents may need in order to build properly.Environment
To Reproduce
Steps to reproduce the behavior:
./vcpkg install qt5-base:<triplet> --clean-after-build
qt5-base
fails to build untilicu
is removed and then installed without the--clean-after-build
flagExpected behavior
The needed headers or libraries should be present to allow dependents to build correctly.
Failure logs
If I recall correctly it is an undefined symbol error. qt5-base is where it was detected. There may be others but they have not been researched or tested.
Beta Was this translation helpful? Give feedback.
All reactions