-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
vcpkg usd in debug mode: python linking error #3533
Comments
To the best of my knowledge vcpkg itself doesn't provide a debug build of python. Because msvc links to different runtimes for debug and release, I don't think you can accomplish a vcpkg based debug build without actually providing the python debug linked library yourself and setting up vcpkg to point to it, and that extends to any dependencies of python that might be supplied otherwise by vcpkg. If someone else knows otherwise please let us know. What I wrote here is what I encountered when I attempted it. Unfortunately I don't have the recipe I used because I stopped when I realized dependencies like pyside would also need to be compiled for debug. |
Filed as internal issue #USD-10678 (This is an automated message. See here for more information.) |
vcpkg does provide python debug builds and we have a working usd vcpkg debug build linked against vcpkg's python. This error only occurs now that we want to update to 25.02 and use the new internal boost-python. The linking error also only occurs for this new module. |
Thanks for the note. For my own knowledge, since I can't find details via google (the information I reported above is what I have in my notes) how do you instruct vcpkg to use a debug python? |
The issue seems to be related to microsoft/vcpkg#33724 which is the reason, why there is a python_d lib on windows but no python_d.exe. |
Ok, I worked through the cmake script, and here's what I found. If you set
followed by another find_package. I have to guess that the answer to your question in or near one of these code blocks, and perhaps stepping through it with a python debugger might help determine why your debug libraries are not being found. I don't have a way right now to try to do a windows debug python build, and the windows debug python build is not set up to run in the CI suite, so although I'm not able to dig deeper, I'm hopeful that maybe these clues are useful. If you are able to determine if the logic I'm pointing to here isn't working in your case (I am thinking that this is where the problem lies), that could point to a change we need to make in the detection logic. |
Hi,
I am trying to build USD using version 25.2 of the usd vcpkg port on Windows.
I modified the portfile to enable python support using the vcpkg python. If I build in release mode only, all compiles fine. In debug mode however, I get the error
If I also pass
-DPXR_USE_DEBUG_PYTHON:BOOL=ON
in the portfile, I getLINK : fatal error LNK1104: Cannot open file "python311_d.lib"
instead.The linking command shows that the build system tries to link
vcpkg_installed\x64-windows\lib\python3.lib
.However, when I remove the lines
OpenUSD/pxr/external/boost/python/CMakeLists.txt
Line 16 in 47117bc
vcpkg_installed\x64-windows\lib\python3.lib
but the afforementioned error still shows up. Is there some duplicate linking of the python lib going on?The text was updated successfully, but these errors were encountered: