gxine (Re: Mass rebuild status with gcc-4.3.0-0.4 of rawhide-20071220)

Martin Sourada martin.sourada at seznam.cz
Thu Jan 3 18:53:40 UTC 2008


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20080103/e62dbbb7/attachment.sig>


More information about the fedora-devel-list mailing list