Hide Forgot
When building latest codeblocks I get a "multiple definition" error on armv7 ... libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/10/../../../crti.o /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/10/crtbeginS.o .libs/cbkeybinder.o .libs/cbkeyConfigPanel.o .libs/cJSON.o .libs/clKeyboardBindingConfig.o .libs/clKeyboardManager.o .libs/configurationpanel.o .libs/json_node.o .libs/keybinder.o .libs/menuutils.o ../../../sdk/.libs/libcodeblocks.so -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lgobject-2.0 -lglib-2.0 -ltinyxml -lsquirrel -lsqstdlib -lwx_gtk3u_aui-3.0 -lwx_gtk3u_propgrid-3.0 -lwx_gtk3u_richtext-3.0 -lwx_gtk3u_xrc-3.0 -lwx_gtk3u_webview-3.0 -lwx_gtk3u_html-3.0 -lwx_gtk3u_qa-3.0 -lwx_gtk3u_adv-3.0 -lwx_gtk3u_core-3.0 -lwx_baseu_xml-3.0 -lwx_baseu_net-3.0 -lwx_baseu-3.0 -lpthread -ldl -L/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/10 -L/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/10/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/10/crtendS.o /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/10/../../../crtn.o -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 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -Wl,--no-undefined -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -pthread -pthread -Wl,-soname -Wl,libkeybinder.so -o .libs/libkeybinder.so /usr/bin/ld: .libs/cbkeyConfigPanel.o:(.rodata+0x14): multiple definition of `typeinfo name for cbKeyBinder'; .libs/cbkeybinder.o:(.rodata+0x0): first defined here /usr/bin/ld: .libs/cbkeyConfigPanel.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for cbKeyBinder'; .libs/cbkeybinder.o:(.data.rel.ro+0x0): first defined here collect2: error: ld returned 1 exit status - first happened in rawhide and F-32, only on armv7 - also reported by Orion in gdl - https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/4APKB4AMWJZPQXJBEXGBQULP4VPCEEXL/ - reproduced in F-31 with gcc9 too - doesn't happen with codeblocks-17.12, so it might be actually exposed by a code change Preprocessed source and possibly additional info will be added later (local build in progress). Version-Release number of selected component (if applicable): gcc-10.0.1-0.11.fc33.armv7hl gcc-9.2.1-1.fc31.armv7hl
Created attachment 1675053 [details] preprocessed source
Created attachment 1675054 [details] assembler source
The attached files were produced with armv7hl-redhat-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I/usr/lib/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../../src/include -I../../../../src/sdk/wxscintilla/include -DCB_AUTOCONF -DCB_PRECOMP -DPIC -DTIXML_USE_STL=YES -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 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -Winvalid-pch -fPIC -fexceptions -c cbkeybinder.cpp -save-temps -fPIC -DPIC -o cbkeybinder.o
I don't see such a problem, neither if I compile it myself using a cross-compiler nor looking at the assembler file you've provided. In the latter I see .global _ZTS11cbKeyBinder ... .section .rodata .align 2 .type _ZTS11cbKeyBinder, %object .size _ZTS11cbKeyBinder, 14 _ZTS11cbKeyBinder: .ascii "11cbKeyBinder\000" and no other definition of _ZTS11cbKeyBinder
Ah, sorry, the other definition is in cbkeyConfigPanel.o, can you please also attach cbkeyConfigPanel.ii and g++ command line used to compile that one? Thanks.
Sure, the command line is armv7hl-redhat-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I/usr/lib/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../../src/include -I../../../../src/sdk/wxscintilla/include -DCB_AUTOCONF -DCB_PRECOMP -DPIC -DTIXML_USE_STL=YES -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 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -Winvalid-pch -fPIC -fexceptions -c cbkeyConfigPanel.cpp -save-temps -fPIC -DPIC -o cbkeyConfigPanel.o
Created attachment 1675075 [details] preprocessed source - cbkeyConfigPanel
Created attachment 1675076 [details] assembler source - cbkeyConfigPanel
#pragma implementation "cbkeybinder.h" is in both cbkeyConfigPanel.cpp and cbkeybinder.cpp I think that is incorrect, for one header with #pragma interface there must be exactly one TU that has the #pragma implementation for it, which is where the virtual tables etc. will be emitted for it.
switching to codeblocks, resolved via https://sourceforge.net/p/codeblocks/tickets/936/ and it will be fixes in a next build
FEDORA-2020-87ee19359f has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-87ee19359f
FEDORA-2020-87ee19359f has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-87ee19359f` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-87ee19359f See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2020-87ee19359f has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.