-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
USD fails to build with gcc-11 #1721
Comments
Note that this issue also exists in recent releases, at least in 21.02 one. (in 21.02 release there is another similar one in |
Filed as internal issue #USD-7093 |
Hi, any update on this issue? Would submitting a pull request help getting it fixed faster? This is a one-line fix, but not sure which of both suggested solutions (in the report and in #1723 one) would be the desired one here... |
While generating the PR in own fork I found a few more similar issues (for Blender we typically build a minimal USD). The root of these issues is that GCC 11 is no longer doing some implicit includes for some std files: https://www.gnu.org/software/gcc/gcc-11/porting_to.html#header-dep-changes |
What is the status of this task? #1776 has been merged, so shouldn't this issue be resolved now? |
Hi @sybrenstuvel , I believe the main reason we have not closed this Issue or #1723 is that we do not build or test with gcc11, and as @mont29 mentioned in #1776 , there could be other, similar issues yet lurking in the codebase. If someone confirms they can build a complete USD+Hydra+plugins build on gcc11, I think we'd be more comfortable closing this. |
I'm still getting a lot of warnings because of So I don't think this is solved and I personally don't like the output from the build script. But maybe I just missed a simple option to get rid of all those warnings hiding the actual errors. |
Thanks for confirming there's more work to do, @TheJackiMonster |
Guys what is the status here? GCC 11 support is kind of needed... RHEL9 does not even support any previous GCC version. macOS supports building with clang 13.1, which supports GCC 11 as its primary compatibility target... so it does not seem incredible to be asking this... I also think clang should be used as the primary compiler also on Linux, since we are at it. |
FWIW Houdini has been doing gcc 11 builds since Houdini 20/USD 23.08. Our shipped builds are done with 11.2, but internally, some devs work with 11.3. We don't use the standard build script, so there may be issues with that approach,. But no compile errors and no reported failures have been blamed on the compiler. |
I just tried building the dev branch on gcc 11.4.1 and had no problems as well. @pberto What errors did you run into? |
So, building I am using gcc 11.4.1 |
@pberto My 24.08 build using build_usd.py with gcc11 completed without errors. What Python version are you using? My build was done with Python 3.9.18. USD will be using its own embedded version of boost::python as of 24.11, so if the error is specific to the boost build system then hopefully whatever you're running into won't be relevant going forward. |
3.9.18 too. I am now trying on the other twin RedHat9.4 system. I also tried other python inside venv but its painful because python-devel is not found (I am not even sure why). Will edit this soon. |
So it seems related to.... numpy? Note I dont have errors, this is why I could not find anything in the log, but a search for "failed" reveled it. If you have any ideas...
|
That sounds like you might be using NumPy 2.x, in which case you may be running afoul of this: NumPy 2.0.0 introduced an API change that required a modification in boost::python, which was made in boostorg/python#432 as commit boostorg/python@0474de0. I raised this recently in #vfx_reference_platform on the ASWF Slack, but there isn't really much we might do about it at the moment, since the fix somehow missed Boost 1.86.0 and still isn't yet in an official release: I have a branch I've been maintaining that pushes most of OpenUSD's dependencies forward, and in there is a change to Maybe try that and see if it helps? |
Agreed with @mattyjams that this is what you're running into. OpenUSD doesn't actually use boost::python's numpy support, but AFAICT there's no easy way to disable it when building boost. Aside from the patch, downgrading your NumPy version would also work. This issue won't show up in 24.11, we've disabled the numpy extensions in our embedded version of boost::python. |
So I did not try what @mattyjams suggested however it make sense. Anyway I managed to build it by simply |
https://github.com/PixarAnimationStudios/USD/blob/9b4cea6217bc49c166fd3686b786a2f18d3e6516/pxr/base/work/singularTask.h#L111
Current code builds fine on gcc-10, but this seems to require explicit
std
namespace with newer gcc:std::size_t old = count;
The text was updated successfully, but these errors were encountered: