On Thu, 2008-01-03 at 13:02 +0100, Jakub Jelinek wrote: > Hi! > > I've rebuilt 5118 rawhide-20071220 src.rpms on x86_64 in mock buildroots which > contained rawhide-20071220 except {gcc,lib}*-4.1.2-36.*.rpm, with additional > gcc-4.3.0-0.4 (available from koji, dist-f9-gcc43 component), > compat-libgfortran-41 (available from > http://people.redhat.com/jakub/gcc/compat-libgfortran-41-4.1.2-36.src.rpm ) > and later on also with gettext subpackages just rebuilt with gcc-4.3.0-0.4. > > Out of those 5118 src.rpms 1054 were failed builds. For those that failed > to build, I have retried with stock rawhide-20071220 mock buildroots (i.e. > gcc-4.1.2-36). 547 failed builds failed even with 4.1.2-36 (this count > includes even ExclusiveArched rpms etc.), logs for those are at > http://sunsite.mff.cuni.cz/rawhide20071220-gcc43/fails-even-with-41/ > and generally don't interest me, as this is not a regression introduced by > 4.3.0-0.4. > > The remaining 507 failures only fail with gcc-4.3.0-0.4 and not with > gcc-4.1.2-36, though most of them are just C++ being stricter, something > that ought to be fixed in the packages. > > I've tried to quickly grep through the failed logs and categorize them: > > # of bugs URL with logs > [...] > 36 http://sunsite.mff.cuni.cz/rawhide20071220-gcc43/multipledef/ > When compiling with -std=c99 or -std=gnu99, inline keyword > changes meaning, in 4.3+ it by defaults conforms to ISO C99 > where extern inline is very different thing than the > GNU extern inline extension. If you want the GNU extern inline > behavior, you can use extern inline __attribute__((__gnu_inline__)) > (the attribute can be guarded by #ifdef __GNUC_STDC_INLINE__ > which is a macro which is defined when inline has the ISO C99 > behavior), or compile with -fgnu89-inline option. Hi, my package is listed there and look into sources showed only 'static inline' functions but none of these seems to be listed in the build log. Instead lots of (to me) confusing messages about multiple defs in glib header files like this (end of the really long list): wizards.o: In function `g_bit_storage': /usr/include/glib-2.0/glib/gutils.h:345: multiple definition of `g_bit_storage' console_output.o:/usr/include/glib-2.0/glib/gutils.h:345: first defined here xml_widgets.o: In function `g_bit_nth_lsf': /usr/include/glib-2.0/glib/gutils.h:316: multiple definition of `g_bit_nth_lsf' console_output.o:/usr/include/glib-2.0/glib/gutils.h:316: first defined here xml_widgets.o: In function `g_bit_nth_msf': /usr/include/glib-2.0/glib/gutils.h:331: multiple definition of `g_bit_nth_msf' console_output.o:/usr/include/glib-2.0/glib/gutils.h:331: first defined here xml_widgets.o: In function `g_trash_stack_push': /usr/include/glib-2.0/glib/gutils.h:365: multiple definition of `g_trash_stack_push' console_output.o:/usr/include/glib-2.0/glib/gutils.h:365: first defined here xml_widgets.o: In function `g_trash_stack_pop': /usr/include/glib-2.0/glib/gutils.h:373: multiple definition of `g_trash_stack_pop' console_output.o:/usr/include/glib-2.0/glib/gutils.h:373: first defined here xml_widgets.o: In function `g_trash_stack_peek': /usr/include/glib-2.0/glib/gutils.h:387: multiple definition of `g_trash_stack_peek' console_output.o:/usr/include/glib-2.0/glib/gutils.h:387: first defined here xml_widgets.o: In function `g_trash_stack_height': /usr/include/glib-2.0/glib/gutils.h:400: multiple definition of `g_trash_stack_height' console_output.o:/usr/include/glib-2.0/glib/gutils.h:400: first defined here xml_widgets.o: In function `g_once_init_enter': /usr/include/glib-2.0/glib/gthread.h:335: multiple definition of `g_once_init_enter' console_output.o:/usr/include/glib-2.0/glib/gthread.h:335: first defined here xml_widgets.o: In function `g_bit_storage': /usr/include/glib-2.0/glib/gutils.h:345: multiple definition of `g_bit_storage' console_output.o:/usr/include/glib-2.0/glib/gutils.h:345: first defined here collect2: ld returned 1 exit status make[1]: *** [gxine] Error 1 make[1]: Leaving directory `/builddir/build/BUILD/gxine-0.5.11/src' make: *** [all-recursive] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.37311 (%build) What can I do? I tried using '__inline__' instead of 'inline' with the same result. I noticed similar glib warnings among some of the other packages that failed due to this reason but glib itself was apparently built OK... Thanks, Martin
Attachment:
signature.asc
Description: This is a digitally signed message part
-- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list