Re: IceCat-38.6 and GCC-6.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 29, 2016 at 02:28:27PM +0100, Antonio Trande wrote:
> Latest IceCat-38.6.0 does not compile with GCC-6.0:
> 
> > ... In file included from 
> > ../../dist/include/mozilla/MathAlgorithms.h:15:0, from 
> > /builddir/build/BUILD/icecat-38.6.0/xpcom/glue/nsTArray.h:14, from
> >  /builddir/build/BUILD/icecat-38.6.0/xpcom/glue/nsStringAPI.h:25, 
> > from 
> > /builddir/build/BUILD/icecat-38.6.0/xpcom/glue/nsStringGlue.h:21, 
> > from ../../dist/include/mozilla/AppData.h:12, from 
> > /builddir/build/BUILD/icecat-38.6.0/xpcom/glue/AppData.cpp:7, from
> >  
> > /builddir/build/BUILD/icecat-38.6.0/icecat-objdir/xpcom/glue/Unified_cpp_xpcom_glue0.cpp:2:
> >
> >
> >  /usr/include/c++/6.0.0/cmath:615:11: error: '::isinf' has not
> > been declared using ::isinf; ^~~~~
> > /usr/include/c++/6.0.0/cmath:640:11: error: '::isnan' has not been
> > declared using ::isnan; ^~~~~ 
> > /builddir/build/BUILD/icecat-38.6.0/config/rules.mk:930: recipe for
> > target 'Unified_cpp_xpcom_glue0.o' failed
> > 
> 
> 
> Do you know how to fix this issue?

There is a C++ conformance issue that requires changes both on the gcc and
glibc side, see #1302825.  The way it works is that gcc configured against
glibc before that change (i.e. 2.22.90-29.fc24 and earlier) will work
with glibc <= 2.22.90-29.fc24 or glibc >= 2.23, but not the later 2.22.90
prereleases (because they don't predefine macros that say it is 2.23, yet
contain the isinf/isnan changes), and gcc configured against glibc
after that change (i.e. 2.2.90-31.fc24 and later) will work with
glibc >= 2.22.90-31.fc24 only.
Now, gcc-6.0.0-0.5.fc24 has been built against -29.fc24, so it is
incompatible with 2.22.90-N.fc24 N >= 31.
And, gcc-6.0.0-0.6.fc24, which has been built against -31.fc24 (on primary
arches only, on secondary still against -29.fc24), is compatible only with
2.22.90-31.fc24 and later, but hasn't finished yet (as arm takes many hours
to days to build).  At some point -31.fc24 has been tagged into f24-build
(first because the glibc maintainers weren't aware of these issues, and then
for the second time when I wanted to start gcc-6.0.0-0.6.fc24 build).
At this point, build should work, as long as you get either gcc 0.5.fc24 and
glibc 29.fc24, or gcc 0.6.fc24 and glibc 31.fc24 in the buildroots.
Note, on secondary architectures, where it seems the releng folks have
untagged the 31.fc24 builds, I'll need at some point temporary tagging of
that into the aarch64/ppc*/s390* buildroots in order for next gcc build to
pick up those changes.

	Jakub
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux