Skip to content
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

IECore::Object may be used uninitialized, build error #1342

Open
MrPetru opened this issue Mar 10, 2023 · 0 comments
Open

IECore::Object may be used uninitialized, build error #1342

MrPetru opened this issue Mar 10, 2023 · 0 comments

Comments

@MrPetru
Copy link
Contributor

MrPetru commented Mar 10, 2023

Version: Cortex 10.4.6.0, main branch

Description

Hi.

I'm trying to build Cortex at home and I'm getting this error message. One first thing to mention is that I'm using boost-1.81.0 and gcc-12.2.1 (and I'm also trying OpenEXR-3.1, python-3.10) . It looks more like a code issue to me, however my knowledge of c++ is very limited. I can't figure it out so I thought to ask your help. Would you have any suggestion on why this error is happening and what I could try to make it work?

I could turn off the treat warnings as errors flag for the compiler, but I hope to find a better solution.

Steps to Reproduce

This is happening during the build, I'm using scons install ... with some arguments to point the build process to the location of required headers and libraries.

Debug Log

In file included from /home/petru/build/cortexDependencies/usr/include/boost/intrusive_ptr.hpp:16,
                 from include/IECore/RefCounted.h:41,
                 from include/IECorePython/WrapperGarbageCollector.h:42,
                 from include/IECorePython/RefCountedBinding.h:39,
                 from include/IECorePython/RunTimeTypedBinding.h:40,
                 from include/IECorePython/OpBinding.h:39,
                 from src/IECorePython/OpBinding.cpp:37:
In copy constructor 'boost::intrusive_ptr<T>::intrusive_ptr(const boost::intrusive_ptr<T>&) [with T = IECore::Object]',
    inlined from 'IECore::ObjectPtr IECorePython::OpWrapper<T>::doOperation(const IECore::CompoundObject*) [with T = IECore::Op]' at include/IECorePython/OpBinding.h:87:23:
/home/petru/build/cortexDependencies/usr/include/boost/smart_ptr/intrusive_ptr.hpp:91:55: error: '*(const boost::intrusive_ptr<IECore::Object>*)((char*)&<unnamed> + offsetof(boost::python::extract<boost::intrusive_ptr<IECore::Object> >,boost::python::extract<boost::intrusive_ptr<IECore::Object> >::<unnamed>.boost::python::converter::extract_rvalue<boost::intrusive_ptr<IECore::Object> >::m_data.boost::python::converter::rvalue_from_python_data<boost::intrusive_ptr<IECore::Object> >::<unnamed>.boost::python::converter::rvalue_from_python_storage<boost::intrusive_ptr<IECore::Object> >::storage)).boost::intrusive_ptr<IECore::Object>::px' may be used uninitialized [-Werror=maybe-uninitialized]
   91 |     intrusive_ptr(intrusive_ptr const & rhs): px( rhs.px )
      |                                                   ~~~~^~
include/IECorePython/OpBinding.h: In member function 'IECore::ObjectPtr IECorePython::OpWrapper<T>::doOperation(const IECore::CompoundObject*) [with T = IECore::Op]':
include/IECorePython/OpBinding.h:87:70: note: '<anonymous>' declared here
   87 |                                 IECore::ObjectPtr r = boost::python::extract<IECore::ObjectPtr>( o( IECore::CompoundObjectPtr( const_cast<IECore::CompoundObject *>( operands ) ) ) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant