-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[openimageIO] doesn't built with manifest - fails to compile jasper #41124
Comments
In manifest mode with CMake integration, the ports installation path is |
Consider updating The chosen |
thank you. that of course makes sense.
that was my botched attempt of getting python 3.10. I did test with the latest SHA too. the extra flag I passed to the command line was messing it all up. thank you everyone for help! appreciate it. |
it compiles ok without overrides with a simple manifest like this:
the moment however I try any python 3.10 it breaks.
it seems it has problems compiling an older version of python and it is looking for files not in the build vcpkg but in the generic one on my system EDIT: fixed python version in the manifest |
Can please clarify which port is failing - openimageio, jasper, or python3 ? The last manifest selects python 3.10.7 via overrides, but the error shows a python 3.10.5 source dir. This data doesn't belong together. "FFI_RELEASE-NOTFOUND" points from python3 to libffi. You may need to choose a version of libffi of the same age as python3. Only few combinations of versions are tested together, determined by PRs and merges. |
I removed libraw and jasper from the process to simplify it. I'm trying to build openimageIO with python 3.10 bindings. I tried 3.10.7 and 3.10.5 hence the difference between the manifest and the error. it fails in either case. From the manual I thought that constraining one version in the overrides would make the system find matching corresponding versions of the dependencies automatically. To be honest I have never tried to control versions this way. |
Indirect dependencies in manifest mode also need to be explicitly specified. https://learn.microsoft.com/en-us/vcpkg/consume/boost-versions#:~:text=that%20only%20the%20version
You could try this last commit of Python 3.10 6da00e1 before c6928df |
I tried a few older ones but they all failed with: |
The version of Maybe you can add overrides to specify |
I thought this was a brilliant idea and I tried it. old SHA with python 3.10 and an override to existing opencolorio
(this is not the full manifest, just changes)
I think I'm going to give up on this exercise as I see no way to use vcpkg to compile it in this case. I can see boost in the vcpkg folder and this was a clean run with fresh checkout of vcpkg. no idea why vcpkg thinks it is missing. I'm assuming it might be looking for a different version than the one that is present but this is unclear. |
@WangWeiLin-MV thank you. I was pushing to get the latest possible commit that was using python 3.10 but the trick seems to go back in time even more to find a commit with working opencolourIO and python 3.10 and use no overrides. I was hoping that overrides would have more or less the same effect but I think I expected too much from this system. did you use a manifest or manually check out this commit in vcpkg? it fails for me with the manifest like this:
will experiment with it more. thank you. |
Yes, and it still running since there are a lot of ports. How's the error when you run it? |
after a very long build it complained that boost was missing like in my other case above
|
This is the case when some port are tightly coupled with dependencies' version. And vcpkg only tests compatibility between the ports' latest versions. |
it seems that in this old checkout some ports cannot be downloaded any more. I manually switched vcpkg to the old comment with python 3.10.
|
By using @dg0yt 's solution, you could use this json. Installation passed on {
"name": "project",
"version-semver": "1.0.0",
"dependencies": [
"boost",
"ffmpeg",
"tiff",
"openexr",
"opencolorio",
"libpng",
"python3",
"pybind11"
],
"overrides": [
{
"name": "libffi",
"version": "3.4.4",
"port-version": 2
},
{
"name": "python3",
"version": "3.10.7",
"port-version": 7
}
],
"builtin-baseline": "f176b58f35a75f9f8f54099cd9df97d2e2793a2e"
} |
Those errors were for (very) old msys2 binary packages (not ports) which were removed from msys2 download servers. Well, old checkouts bring old scripts. Just don't use old checkouts. If you need old port version, use manifest mode and version constraints. Or use overlay ports. Or add your own registry. |
@WangWeiLin-MV omg that worked! thank you. |
Describe the bug
openImageIO builds ok on windows without a manifest file, using all the latest ports (9352613).
however when a manifest is present, with the same base and no constraints it fails.
I have a manifest as follows:
without the manifest I manually added the required libraries to vcpkg. with the manifest, I wanted to simplify the build for the future and have the ability to add constraints (python 3.10).
my assumption was that there should be no difference between those two builds as both should use the latest ports and build the same.
Environment
To Reproduce
Steps to reproduce the behavior:
c:/dev/vcpkg
cmake -DCMAKE_TOOLCHAIN_FILE=c:/DEV/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_PREFIX_PATH=c:\DEV\vcpkg\installed\x64-windows -DUSE_PYTHON=1 -DUSE_QT=0 -DOIIO_BUILD_TESTS=0 ..
Repro code when
Expected behavior
I expected the builds with the manifest and without in this case to be identical
Failure logs
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: