Hello All,
Libre Office 3.5.3 compiles fine for me with Gcc 4.7 on x86_64 but on
i686 the build dies with this error:

Making:    all_uno-skeletonmaker.dpobj
Compiling: unodevtools/source/skeletonmaker/skeletonmaker.cxx
Compiling: unodevtools/source/skeletonmaker/skeletoncommon.cxx
/home/andy/save/sources/extras/libreoffice-core-3.5.3.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx:
 In function 'void 
skeletonmaker::checkDefaultInterfaces(boost::unordered::unordered_set<rtl::OString,
 rtl::OStringHash>&, const boost::unordered::unordered_set<rtl::OString, 
rtl::OStringHash>&, const rtl::OString&)':
/home/andy/save/sources/extras/libreoffice-core-3.5.3.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx:317:1:
 internal compiler error: in force_move_args_size_note, at 
combine-stack-adj.c:419
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The "internal compiler error" and the request for a bug report to be
sent to gcc makes it look like a bug in Gcc 4.7. The actual code that
causes the problem looks like this:

void checkDefaultInterfaces(
         boost::unordered_set< OString, OStringHash >& interfaces,
         const boost::unordered_set< OString, OStringHash >& services,
       const OString & propertyhelper)
{
    if ( services.empty() ) {
        if (interfaces.find("com.sun.star.lang.XServiceInfo") != 
interfaces.end())
            interfaces.erase("com.sun.star.lang.XServiceInfo");
    } else {
        if (interfaces.find("com.sun.star.lang.XServiceInfo") == 
interfaces.end())
            interfaces.insert("com.sun.star.lang.XServiceInfo");
    }

    if ( propertyhelper.equals("_") ) {
        if (interfaces.find("com.sun.star.beans.XPropertySet")
            != interfaces.end())
            interfaces.erase("com.sun.star.beans.XPropertySet");
        if (interfaces.find("com.sun.star.beans.XFastPropertySet")
            != interfaces.end())
            interfaces.erase("com.sun.star.beans.XFastPropertySet");
        if (interfaces.find("com.sun.star.beans.XPropertyAccess")
            != interfaces.end())
            interfaces.erase("com.sun.star.beans.XPropertyAccess");
    }
}

Googling on the error found this bug report at Ubunut:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.7/+bug/1007616
But sadly they have no solution.

I have previously built Libre Office 3.5.3 on i686 with Gcc 4.7, what
was different this time was that I used a git pull of the Gcc 4.7
branch. Ie, Gcc had changes that had been checked into the Gcc 4.7
branch since gcc-4.7.0 was released.

Does anyone have any insight into what's going on here?

Andy
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to