#19287 new defect
gcc10 problems — 於 版本 1
回報者: | Frank Batschulat (Oracle) | 負責人: | |
---|---|---|---|
元件: | other | 版本: | VirtualBox 6.1.2 |
關鍵字: | gcc10 | 副本: | |
Guest type: | other | Host type: | other |
描述 (由 作最後更新)
We've got reports of probelsm compiling the vbox code base with the newest GCC version 10. See below:
https://www.alldomusa.eu.org/pipermail/vbox-dev/2020-February/015411.html
From: "Sérgio Basto" <> To: [email protected] Cc: Subject: [vbox-dev] problem with new GCC 10 Date: Wed, 05 Feb 2020 02:06:27 +0100 Hi, Now seems to me, GCC10 forbids multiple definitions , I got at least 3 packages with this problem (of multiple definitions [1]) but in Virtual Box we have thousand of lines this these [2] Best regards, [1] https://github.com/telmich/gpm/pull/37 [2] ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/relocate.o:(.bss+0x0): multiple definition of `__licence_public_domain'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x0): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/relocate.o:(.bss+0x1): multiple definition of `__licence_gpl2_only'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x1): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/relocate.o:(.bss+0x2): multiple definition of `__licence_gpl2_or_later'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x2): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/timer2.o:(.bss+0x0): multiple definition of `__licence_public_domain'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x0): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/timer2.o:(.bss+0x1): multiple definition of `__licence_gpl2_only'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x1): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/timer2.o:(.bss+0x2): multiple definition of `__licence_gpl2_or_later'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x2): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/firmware/pcbios/basemem.o:(.bss+0x0): multiple definition of `__licence_public_domain'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x0): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/firmware/pcbios/basemem.o:(.bss+0x1): multiple definition of `__licence_gpl2_only'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x1): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/firmware/pcbios/basemem.o:(.bss+0x2): multiple definition of `__licence_gpl2_or_later'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x2): first defined here ld: /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/firmwarel2_or_later'; /builddir/build/BUILD/VirtualBox-6.1.2/obj/obj/iPxeBaseBin/src/arch/i386/core/basemem_packet.o:(.bss+0x2): first defined here
refer to:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678
https://gcc.gnu.org/gcc-10/porting_to.html#common
THe complains are about:
trunk/src/VBox/Devices/PC/ipxe/src/include/compiler.h
653 #define FILE_LICENCE_PUBLIC_DOMAIN \ 654 PROVIDE_SYMBOL ( __licence_public_domain ) 662 #define FILE_LICENCE_GPL2_OR_LATER \ 663 PROVIDE_SYMBOL ( __licence_gpl2_or_later ) 671 #define FILE_LICENCE_GPL2_ONLY \ 672 PROVIDE_SYMBOL ( __licence_gpl2_only ) 683 #define FILE_LICENCE_GPL_ANY \ 684 PROVIDE_SYMBOL ( __licence_gpl_any ) [...] 60 /** Provide a symbol within this object file */ 61 #ifdef ASSEMBLY 62 #define PROVIDE_SYMBOL( _sym ) \ 63 .globl _sym ; \ 64 .comm _sym, 0 65 #else /* ASSEMBLY */ 66 #define PROVIDE_SYMBOL( _sym ) \ 67 char _sym[0] 68 #endif /* ASSEMBLY */
注意:
瀏覽 TracTickets
來幫助您使用待辦事項功能