Emerge of kde-base/okteta-4.5.4 fails with USE=kdeenablefinal. Reproducible: Always Steps to Reproduce: 1. include kdeenablefinal in /etc/make.conf:USE= 2. create /etc/portage/profile/use.mask with the line "-kdeenablefinal" 3. emerge -uDNav world Actual Results: In file included from /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4_build/okteta/gui/oktetagui_final_cpp.cpp:33: /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:47: fel: redefinition of "const unsigned int Okteta::StartsBefore" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:46: fel: "const unsigned int Okteta::StartsBefore" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:48: fel: redefinition of "const unsigned int Okteta::EndsLater" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:47: fel: "const unsigned int Okteta::EndsLater" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:49: fel: redefinition of "const Okteta::Byte Okteta::EmptyByte" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:48: fel: "const Okteta::Byte Okteta::EmptyByte" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:54: fel: redefinition of "const Okteta::PixelX Okteta::DefaultCursorWidth" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:50: fel: "const Okteta::PixelX Okteta::DefaultCursorWidth" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:55: fel: redefinition of "const Okteta::PixelX Okteta::DefaultByteSpacingWidth" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:51: fel: "const Okteta::PixelX Okteta::DefaultByteSpacingWidth" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:56: fel: redefinition of "const Okteta::PixelX Okteta::DefaultGroupSpacingWidth" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:52: fel: "const Okteta::PixelX Okteta::DefaultGroupSpacingWidth" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:58: fel: redefinition of "const Okteta::Size Okteta::DefaultNoOfGroupedBytes" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:53: fel: "const int Okteta::DefaultNoOfGroupedBytes" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:60: fel: redefinition of "const int Okteta::DefaultBinaryGapWidth" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/valuebytearraycolumnrenderer.cpp:41: fel: "const int Okteta::DefaultBinaryGapWidth" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:62: fel: redefinition of "const bool Okteta::DefaultShowingNonprinting" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/charbytearraycolumnrenderer.cpp:32: fel: "const bool Okteta::DefaultShowingNonprinting" definierades tidigare här /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:63: fel: redefinition of "const QChar Okteta::DefaultSubstituteChar" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/charbytearraycolumnrenderer.cpp:33: fel: "const QChar Okteta::DefaultSubstituteChar" previously declared here /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:64: fel: redefinition of "const QChar Okteta::DefaultUndefinedChar" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/gui/charbytearraycolumnrenderer.cpp:34: fel: "const QChar Okteta::DefaultUndefinedChar" previously declared here Expected Results: successful installation of the package
Now I tried to comment out the following line in /etc/make.conf: MAKEOPTS="-j3" After that, I tried to emerge okteta again. Now I get a different error: In file included from /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4_build/okteta/libs/kasten/controllers/kastencontrollers_final_cpp.cpp:37: /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/libs/kasten/controllers/io/insert/insertcontroller.cpp:49: fel: omdefinition av "struct QMetaTypeId<Kasten::AbstractModelDataGenerator*>" /var/tmp/portage/kde-base/okteta-4.5.4/work/okteta-4.5.4/okteta/libs/kasten/controllers/documentsystem/creator/creatorcontroller.cpp:52: fel: föregående definition av "struct QMetaTypeId<Kasten::AbstractModelDataGenerator*>" Does NOT YET seem to be fixed upstream: http://websvn.kde.org/trunk/KDE/kdesdk/okteta/libs/kasten/controllers/io/insert/insertcontroller.cpp?revision=1178758&view=markup#l49 http://websvn.kde.org/trunk/KDE/kdesdk/okteta/libs/kasten/controllers/documentsystem/creator/creatorcontroller.cpp?revision=1178758&view=markup#l52
Seems like simply removing the line(s) "Q_DECLARE_METATYPE(Kasten::AbstractModelDataGenerator*)" (and "#include <QtCore/QMimeData>") from kdeutils-4.5.4/okteta/libs/kasten/controllers/documentsystem/creator/creatorcontroller.cpp fixes this build error so that the target okteta/libs/kasten/controllers/CMakeFiles/kastencontrollers.dir/kastencontrollers_final_cpp.o can be built. Other build errors remain in the target okteta/gui/CMakeFiles/oktetagui.dir/oktetagui_final_cpp.o though: In file included from kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:23, from kdeutils-4.5.4/build/okteta/gui/oktetagui_final_cpp.cpp:33: kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.h: At global scope: kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.h:53: fel: redefinition of "const Okteta::Address Okteta::NoByteFound" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.h:51: fel: "const Okteta::LinePosition Okteta::NoByteFound" definierades tidigare här In file included from kdeutils-4.5.4/build/okteta/gui/oktetagui_final_cpp.cpp:33: kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:47: fel: redefinition of "const unsigned int Okteta::StartsBefore" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:46: fel: "const unsigned int Okteta::StartsBefore" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:48: fel: redefinition of "const unsigned int Okteta::EndsLater" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:47: fel: "const unsigned int Okteta::EndsLater" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:49: fel: redefinition of "const Okteta::Byte Okteta::EmptyByte" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:48: fel: "const Okteta::Byte Okteta::EmptyByte" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:54: fel: redefinition of "const Okteta::PixelX Okteta::DefaultCursorWidth" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:50: fel: "const Okteta::PixelX Okteta::DefaultCursorWidth" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:55: fel: redefinition of "const Okteta::PixelX Okteta::DefaultByteSpacingWidth" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:51: fel: "const Okteta::PixelX Okteta::DefaultByteSpacingWidth" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:56: fel: redefinition of "const Okteta::PixelX Okteta::DefaultGroupSpacingWidth" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:52: fel: "const Okteta::PixelX Okteta::DefaultGroupSpacingWidth" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:58: fel: redefinition of "const Okteta::Size Okteta::DefaultNoOfGroupedBytes" kdeutils-4.5.4/okteta/gui/abstractbytearraycolumnrenderer.cpp:53: fel: "const int Okteta::DefaultNoOfGroupedBytes" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:60: fel: redefinition of "const int Okteta::DefaultBinaryGapWidth" kdeutils-4.5.4/okteta/gui/valuebytearraycolumnrenderer.cpp:41: fel: "const int Okteta::DefaultBinaryGapWidth" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:62: fel: redefinition of "const bool Okteta::DefaultShowingNonprinting" kdeutils-4.5.4/okteta/gui/charbytearraycolumnrenderer.cpp:32: fel: "const bool Okteta::DefaultShowingNonprinting" definierades tidigare här kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:63: fel: redefinition of "const QChar Okteta::DefaultSubstituteChar" kdeutils-4.5.4/okteta/gui/charbytearraycolumnrenderer.cpp:33: fel: "const QChar Okteta::DefaultSubstituteChar" previously declared here kdeutils-4.5.4/okteta/gui/bytearrayrowcolumnrenderer.cpp:64: fel: redefinition of "const QChar Okteta::DefaultUndefinedChar" kdeutils-4.5.4/okteta/gui/charbytearraycolumnrenderer.cpp:34: fel: "const QChar Okteta::DefaultUndefinedChar" previously declared here In file included from kdeutils-4.5.4/build/okteta/gui/oktetagui_final_cpp.cpp:34: kdeutils-4.5.4/okteta/gui/bytearrayrowview_p.cpp:42: fel: redefinition of "const int Okteta::InsertCursorWidth" kdeutils-4.5.4/okteta/gui/bytearraycolumnview_p.cpp:42: fel: "const int Okteta::InsertCursorWidth" definierades tidigare här
Still fais in kde-base/okteta-4.5.5.
This seems to be fixed by upstream in trunk and 4.6. I recommend to remove the USE-flag from every 4.5.* package of okteta, since it is known to fail. Then let the USE-flag reappear in the 4.6 series.
(In reply to comment #4) > This seems to be fixed by upstream in trunk and 4.6. I recommend to remove the > USE-flag from every 4.5.* package of okteta, since it is known to fail. Then > let the USE-flag reappear in the 4.6 series. kdeenablefinal is and must be a global use flag, so one cannot add it or remove it from "some" ebuilds. It either exists for all or for none.