Bug 289837

Summary: okteta fails to build (final): bytearraychecksumalgorithmfactory.cpp fails if #include <QtCore/QString> is included first
Product: [Applications] okteta Reporter: esigra
Component: generalAssignee: Alex Richardson <arichardson.kde>
Status: RESOLVED FIXED    
Severity: normal CC: kossebau
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 0.8.0
Sentry Crash Report:

Description esigra 2011-12-26 10:06:06 UTC
Version:           unspecified (using KDE 4.7.3) 
OS:                Linux

Okteta in kdesdk-4.7.4 fails to build with enablefinal. The problem is that  bytearraychecksumalgorithmfactory.cpp includes something that needs to be included first (according to the comment in the code). But in a final build, a lot of things may be included before that.

The problem can be seen without enablefinal by simply adding #include <QtCore/QString> to the beginning of bytearraychecksumalgorithmfactory.cpp.

Reproducible: Always

Steps to Reproduce:
1. tar jxvf kdesdk-4.7.4.tar.bz2
2. cd kdesdk-4.7.4
3. mkdir build
4. cd build
5. cmake -DKDE4_ENABLE_FINAL=ON ..
6. make okteta

Actual Results:  
In file included from /usr/include/qca2/QtCrypto/qca.h:38:0,                                                                                                                                                
                 from /usr/include/qca2/QtCrypto/QtCrypto:1,
                 from kdesdk-4.7.4/okteta/kasten/controllers/view/libbytearraychecksum/bytearraychecksumalgorithmfactory.cpp:31,
                 from kdesdk-4.7.4/build/okteta/kasten/controllers/oktetakastencontrollers_final_cpp.cpp:51:
/usr/include/qt4/QtCore/qstring.h: In constructor 'QCA::PBKDF1::PBKDF1(const QString&, const QString&)':
/usr/include/qt4/QtCore/qstring.h:601:5: error: 'QString::QString(const char*)' is private
/usr/include/qca2/QtCrypto/qca_basic.h:977:147: error: within this context

Expected Results:  
successful build
Comment 1 Friedrich W. H. Kossebau 2012-01-03 22:02:54 UTC
Thanks for the report, could reproduce. And fix it :)

There won't be another release of the KDE Apps 4.7 branch, but I still will commit the fix also to that branch, in case you are interested. First official release with that should be 4.8.0 (anything after the RC2)
Comment 2 Friedrich W. H. Kossebau 2012-01-03 22:04:34 UTC
SVN commit 1271400 by kossebau:

Fixed: build with KDE4_ENABLE_FINAL failed, due to QCA headers seeing QT_NO_CAST_FROM_ASCII 



 M  +9 -0      CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1271400
Comment 3 Friedrich W. H. Kossebau 2012-01-03 22:16:50 UTC
SVN commit 1271402 by kossebau:

Fixed: build with KDE4_ENABLE_FINAL failed, due to QCA headers seeing QT_NO_CAST_FROM_ASCII (forward port of 1271400)

FIXED-IN:0.8.0 (KDE Apps 4.8.0)


 M  +9 -0      CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1271402
Comment 4 Friedrich W. H. Kossebau 2012-01-03 22:37:08 UTC
SVN commit 1271407 by kossebau:

Fixed: build with KDE4_ENABLE_FINAL failed, due to QCA headers seeing QT_NO_CAST_FROM_ASCII (forward port of 1271400)



 M  +9 -0      CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1271407