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 1795940 - python-caja fails to build with gcc 10: multiple definition of `_PyCaja...'
Summary: python-caja fails to build with gcc 10: multiple definition of `_PyCaja...'
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-caja
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Patrick Monnerat
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F32FTBFS PYTHON39 GCC10
TreeView+ depends on / blocked
 
Reported: 2020-01-29 09:53 UTC by Miro Hrončok
Modified: 2020-01-31 11:25 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-01-29 19:30:18 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2020-01-29 09:53:06 UTC
python-caja fails to build with gcc 10:

/bin/sh ../libtool  --tag=CC   --mode=link gcc -I/usr/include/python3.9  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -module -avoid-version -Wl,-z,defs -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o libcaja-python.la -rpath /usr/lib64/caja/extensions-2.0 libcaja_python_la-caja-python.lo libcaja_python_la-caja-python-object.lo -lpython3.9  -lgmodule-2.0 -pthread -lglib-2.0 -lcaja-extension -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  
libtool: link: gcc -shared  -fPIC -DPIC  .libs/libcaja_python_la-caja-python.o .libs/libcaja_python_la-caja-python-object.o   -lpython3.9 -lgmodule-2.0 -lcaja-extension -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -O2 -g -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -Wl,-z -Wl,defs -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -pthread   -pthread -Wl,-soname -Wl,libcaja-python.so -o .libs/libcaja-python.so
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:73: multiple definition of `_PyCajaOperationHandle_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:73: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/usr/include/pygobject-3.0/pygobject.h:230: multiple definition of `_PyGObject_API'; .libs/libcaja_python_la-caja-python.o:/usr/include/pygobject-3.0/pygobject.h:230: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:67: multiple definition of `_PyCajaPropertyPage_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:67: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:43: multiple definition of `_PyGtkWidget_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:43: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:46: multiple definition of `_PyCajaColumn_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:46: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:61: multiple definition of `_PyCajaMenuItem_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:61: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:70: multiple definition of `_PyCajaPropertyPageProvider_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:70: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:55: multiple definition of `_PyCajaLocationWidgetProvider_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:55: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:64: multiple definition of `_PyCajaMenuProvider_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:64: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:49: multiple definition of `_PyCajaColumnProvider_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:49: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:52: multiple definition of `_PyCajaInfoProvider_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:52: first defined here
/usr/bin/ld: .libs/libcaja_python_la-caja-python-object.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:58: multiple definition of `_PyCajaMenu_Type'; .libs/libcaja_python_la-caja-python.o:/builddir/build/BUILD/python-caja-1.23.0/src/caja-python.h:58: first defined here
collect2: error: ld returned 1 exit status



This blocks the Python 3.9 rebuild of the package.

See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/RYVPP45PMWPXYBBDKXO3CI7YGL7CDQG6/ and https://gcc.gnu.org/gcc-10/porting_to.html#common for more information about the failure.

Comment 1 Wolfgang Ulbrich 2020-01-29 15:24:11 UTC
Patrick,
maybe this is usefull from nemo ?
https://github.com/linuxmint/nemo-extensions/pull/352/commits/5dc8b5586cd774e4b6dce16b6bd7744e0e406d81

Comment 2 Patrick Monnerat 2020-01-29 15:30:42 UTC
Thanks for the info Wolfgang.
There is already a quick fix in rawhide, using -fcommon CFLAG to reinstate commons in gcc 10.
I have a patch very similar to nemo commit that I'll submit very soon as a PR.

Comment 3 Patrick Monnerat 2020-01-29 16:52:34 UTC
Upstream PR at https://github.com/mate-desktop/python-caja/pull/54

Comment 4 Wolfgang Ulbrich 2020-01-29 19:26:04 UTC
Scratch build work fine with your PR.
Thanks
https://koji.fedoraproject.org/koji/taskinfo?taskID=41209219

Comment 5 Wolfgang Ulbrich 2020-01-29 19:27:10 UTC
Why this report is closed?

Comment 6 Wolfgang Ulbrich 2020-01-29 19:30:18 UTC
Got it , you did already a successful build https://koji.fedoraproject.org/koji/buildinfo?buildID=1441884

Any way, i will do a new release of python-caja when PR is merged.

Comment 7 Wolfgang Ulbrich 2020-01-31 11:25:49 UTC
Patrick, i have released 1.23.1
https://github.com/mate-desktop/python-caja/releases


Note You need to log in before you can comment on or make changes to this bug.