Skip to content

libcmis: fix build with gcc 16 - #78

Open
sgn wants to merge 1 commit into
tdf:masterfrom
sgn:gcc-16
Open

sgn wants to merge 1 commit into
tdf:masterfrom
sgn:gcc-16

Conversation

@sgn

@sgn sgn commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Build with gcc 16 yields those errors:

atom-document.cxx: In constructor 'AtomDocument::AtomDocument(AtomPubSession*)':
atom-document.cxx:48:19: error: use of deleted function 'libcmis::Document::Document()'
   48 |     m_contentUrl( )
      |                   ^
In file included from atom-document.hxx:31,
                 from atom-document.cxx:29:
../../inc/libcmis/document.hxx:48:23: note: 'libcmis::Document::Document()' is implicitly deleted because the default definition would be ill-formed:
   48 |     class LIBCMIS_API Document : public virtual Object
      |                       ^~~~~~~~
../../inc/libcmis/document.hxx: At global scope:
../../inc/libcmis/document.hxx:48:23: error: no matching function for call to 'libcmis::Object::Object()'
  • there are 3 candidates
In file included from ../../inc/libcmis/document.hxx:39:
    • candidate 1: 'libcmis::Object::Object(const libcmis::Object&)'
      ../../inc/libcmis/object.hxx:80:13:
         80 |             Object( const Object& copy );
            |             ^~~~~~
      • candidate expects 1 argument, 0 provided
    • candidate 2: 'libcmis::Object::Object(libcmis::Session*, xmlNodePtr)'
      ../../inc/libcmis/object.hxx:79:13:
         79 |             Object( Session* session, xmlNodePtr node );
            |             ^~~~~~
      • candidate expects 2 arguments, 0 provided
    • candidate 3: 'libcmis::Object::Object(libcmis::Session*)'
      ../../inc/libcmis/object.hxx:78:13:
         78 |             Object( Session* session );
            |             ^~~~~~
      • candidate expects 1 argument, 0 provided
atom-document.cxx: In constructor 'AtomDocument::AtomDocument(AtomPubSession*)':
atom-document.cxx:48:19: note: use '-fdiagnostics-all-candidates' to display considered candidates
   48 |     m_contentUrl( )
      |                   ^
atom-document.cxx: In constructor 'AtomDocument::AtomDocument(AtomPubSession*, xmlNodePtr)':
atom-document.cxx:56:19: error: use of deleted function 'libcmis::Document::Document()'
   56 |     m_contentUrl( )
      |                   ^

@caolanm

caolanm commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

I think the problem is autoconf-2.72 and its interaction with the new gcc and we end up compiling with an older c++11 instead of c++14?

@sgn

sgn commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

Didn't we ask for C++11 explicitly?

AX_CXX_COMPILE_STDCXX_11

checking for g++ option to enable C++11 features... -std=gnu++11                                                                                                                              
checking dependency style of g++ -std=gnu++11... gcc3   

@sgn

sgn commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

I can confirm that changing AX_CXX_COMPILE_STDCXX_11 to AX_CXX_COMPILE_STDCXX_14 works.
Also, we can set CXXFLAGS=-std=gnu++14 before running ./configure also works.

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

Successfully merging this pull request may close these issues.

2 participants