I don't pretend to understand the actual C++ issue here but the build log snippet that was posted misses something that might help solve the problem, vis, the two lines above the snippet which detail the actual error and where the compiler suggests how to avoid it
/build/buildd/kompozer-0.8~b3.dfsg.1/mozilla/layout/style/nsCSSStyleSheet.cpp: In function 'PRBool AttrMatchesValue(const nsAttrSelector*, const nsString&)': /build/buildd/kompozer-0.8~b3.dfsg.1/mozilla/layout/style/nsCSSStyleSheet.cpp:2897:43: error: uninitialized const 'ciComparator' [-fpermissive] ../../dist/include/unicharutil/nsUnicharUtils.h:63:7: note: 'const class nsCaseInsensitiveStringComparator' has no user-provided default constructor For reasons I won't go into here I came to build FireFox2 (yes, 2!) and have seen the same error and then found this thread whilst looking for an answer. The lines of relevant code in nsCSSStyleSheet.cpp are these ... const nsDefaultStringComparator defaultComparator; const nsCaseInsensitiveStringComparator ciComparator; const nsStringComparator& comparator = aAttrSelector->mCaseSensitive ? NS_STATIC_CAST(const nsStringComparator&, defaultComparator) : NS_STATIC_CAST(const nsStringComparator&, ciComparator); ... but note that there's only one place where the variable for which the declaration is causing the error, ciComparator, is used. Elsewhere in the firefox codebase, you don't see declarations such as the above but you do see a "default constructor" referred to, vis: nsCaseInsensitiveStringComparator() I therefore modified nsCSSStyleSheet.cpp to just use the default constructor in place and not declare the "intermediate" variable. const nsDefaultStringComparator defaultComparator; const nsStringComparator& comparator = aAttrSelector->mCaseSensitive ? NS_STATIC_CAST(const nsStringComparator&, defaultComparator) : NS_STATIC_CAST(const nsStringComparator&, nsCaseInsensitiveStringComparator() ); This at least allows nsCSSStyleSheet.cpp to compile. I also ran the compile of that individual source file using -fpermissive and that "defeats" the error too. As I say, it may not be the correct/complete solution, but maybe the info will help point someone else to it. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/770836 Title: kompozer version 1:0.8~b3.dfsg.1-0.1 failed to build on amd64 with GCC-4.6/oneiric To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/kompozer/+bug/770836/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs