Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1706042

Summary: libprelude FTBFS with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: libpreludeAssignee: Thomas Andrejak <thomas.andrejak>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: mail, thomas.andrejak, tscherf, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libprelude-5.0.0-4.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-12 09:05:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-05-03 12:37:11 UTC
Created attachment 1562394 [details]
Full log from Copr

libprelude 5.0.0-2.fc31 fails to build with Python 3.8:

_preludedb.cxx:3130:3: error: ‘_PyObject_GC_UNTRACK’ was not declared in this scope; did you mean ‘PyObject_GC_UnTrack’?
 3130 |   _PyObject_GC_UNTRACK(descr);
      |   ^~~~~~~~~~~~~~~~~~~~
      |   PyObject_GC_UnTrack
_preludedb.cxx: In function ‘int IDMEFValue_to_SWIG(PyObject*, const Prelude::IDMEFValue&, void*, PyObject**)’:
_preludedb.cxx:5782:58: warning: enum constant in boolean context [-Wint-in-bool-context]
 5782 |                 else if ( t == IDMEF_DATA_TYPE_UINT32 || IDMEF_DATA_TYPE_INT )
      |                                                          ^~~~~~~~~~~~~~~~~~~
_preludedb.cxx: In instantiation of ‘static Type swig::traits_as<Type, swig::pointer_category>::as(PyObject*, bool) [with Type = Prelude::IDMEFValue; PyObject = _object]’:
_preludedb.cxx:4680:64:   required from ‘Type swig::as(PyObject*, bool) [with Type = Prelude::IDMEFValue; PyObject = _object]’
_preludedb.cxx:5247:20:   required from ‘swig::SwigPySequence_Ref<T>::operator T() const [with T = Prelude::IDMEFValue]’
_preludedb.cxx:5997:30:   required from ‘void swig::assign(const SwigPySeq&, Seq*) [with SwigPySeq = swig::SwigPySequence_Cont<Prelude::IDMEFValue>; Seq = std::vector<Prelude::IDMEFValue>]’
_preludedb.cxx:6019:12:   required from ‘static int swig::traits_asptr_stdseq<Seq, T>::asptr(PyObject*, swig::traits_asptr_stdseq<Seq, T>::sequence**) [with Seq = std::vector<Prelude::IDMEFValue>; T = Prelude::IDMEFValue; PyObject = _object; swig::traits_asptr_stdseq<Seq, T>::sequence = std::vector<Prelude::IDMEFValue>]’
_preludedb.cxx:6080:52:   required from ‘static int swig::traits_asptr<std::vector<T> >::asptr(PyObject*, std::vector<T>**) [with T = Prelude::IDMEFValue; PyObject = _object]’
_preludedb.cxx:4572:37:   required from ‘int swig::asptr(PyObject*, Type**) [with Type = std::vector<Prelude::IDMEFValue>; PyObject = _object]’
_preludedb.cxx:9996:41:   required from here
_preludedb.cxx:4655:8: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘class Prelude::IDMEFValue’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
 4655 |  memset(v_def,0,sizeof(Type));
      |  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libprelude/idmef.hxx:29,
                 from /usr/include/libprelude/prelude-client.hxx:27,
                 from /usr/include/libprelude/prelude.hxx:29,
                 from ../../bindings/c++/include/preludedb-sql.hxx:8,
                 from ../../bindings/c++/include/preludedb.hxx:5,
                 from _preludedb.cxx:5472:
/usr/include/libprelude/idmef-value.hxx:36:15: note: ‘class Prelude::IDMEFValue’ declared here
   36 |         class IDMEFValue {
      |               ^~~~~~~~~~
_preludedb.cxx: In instantiation of ‘static Type swig::traits_as<Type, swig::pointer_category>::as(PyObject*, bool) [with Type = std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; PyObject = _object]’:
_preludedb.cxx:4680:64:   required from ‘Type swig::as(PyObject*, bool) [with Type = std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; PyObject = _object]’
_preludedb.cxx:5247:20:   required from ‘swig::SwigPySequence_Ref<T>::operator T() const [with T = std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]’
_preludedb.cxx:5307:14:   required from ‘swig::SwigPySequence_ArrowProxy<T> swig::SwigPySequence_InputIterator<T, Reference>::operator->() const [with T = std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; Reference = const swig::SwigPySequence_Ref<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >]’
_preludedb.cxx:6463:25:   required from ‘void swig::assign(const SwigPySeq&, std::map<K, T, Compare, Alloc>*) [with SwigPySeq = swig::SwigPySequence_Cont<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >; K = std::__cxx11::basic_string<char>; T = std::__cxx11::basic_string<char>; Compare = std::less<std::__cxx11::basic_string<char> >; Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >]’
_preludedb.cxx:6019:12:   required from ‘static int swig::traits_asptr_stdseq<Seq, T>::asptr(PyObject*, swig::traits_asptr_stdseq<Seq, T>::sequence**) [with Seq = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; T = std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; PyObject = _object; swig::traits_asptr_stdseq<Seq, T>::sequence = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]’
_preludedb.cxx:6479:64:   required from ‘static int swig::traits_asptr<std::map<_Key, _Tp, _Compare, _Alloc> >::asptr(PyObject*, swig::traits_asptr<std::map<_Key, _Tp, _Compare, _Alloc> >::map_type**) [with K = std::__cxx11::basic_string<char>; T = std::__cxx11::basic_string<char>; Compare = std::less<std::__cxx11::basic_string<char> >; Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >; PyObject = _object; swig::traits_asptr<std::map<_Key, _Tp, _Compare, _Alloc> >::map_type = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]’
_preludedb.cxx:4572:37:   required from ‘int swig::asptr(PyObject*, Type**) [with Type = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; PyObject = _object]’
_preludedb.cxx:11980:41:   required from here
_preludedb.cxx:4655:8: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >’ with no trivial copy-assignment; use assignment instead [-Wclass-memaccess]
 4655 |  memset(v_def,0,sizeof(Type));
      |  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:64,
                 from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/string:40,
                 from /usr/include/c++/9/stdexcept:39,
                 from _preludedb.cxx:3843:
/usr/include/c++/9/bits/stl_pair.h:208:12: note: ‘struct std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >’ declared here
  208 |     struct pair
      |            ^~~~
setup.py:34: SyntaxWarning: invalid escape sequence \s
  return re.split("\s+", s.strip())
error: command 'g++' failed with exit status 1
make[3]: *** [Makefile:1227: python-build] Error 1
make[2]: *** [Makefile:1131: all-recursive] Error 1
make[1]: *** [Makefile:1390: all-recursive] Error 1
make: *** [Makefile:1201: all] Error 2


Full log attached.

Comment 1 Miro Hrončok 2019-07-10 10:39:32 UTC
Please respond.

Comment 2 Thomas Andrejak 2019-07-10 10:45:45 UTC
Hello

Sorry for the late answer. I will do that before the end of this month.

Regards

Comment 3 Thomas Andrejak 2019-07-12 08:04:17 UTC
Hello

This should now be OK : https://koji.fedoraproject.org/koji/taskinfo?taskID=36197841

Can you confirm that ?

Thanks

Comment 4 Miro Hrončok 2019-07-12 09:05:32 UTC
Thank You.