[OS X] "unknown type name 'KARCHIVE_DEPRECATED'" building kdoctools

Alex Merry alex.merry at kde.org
Wed Nov 4 21:50:16 UTC 2015


On 2015-11-04 21:45, René J. V.  Bertin wrote:
> René J. V. Bertin wrote:
> 
>> Alex Merry wrote:
>> 
>>> Looks like your include path is wrong. 
>>> /opt/local/include/KF5/KArchive
>>> should be in the include path (before wherever wherever your kdelibs4
>>> headers are).
> 
> In fact:
> 
> cd 
> /opt/local/var/macports/build/_opt_local_site-ports_kf5_Frameworks/kf5-
> kdoctools/work/build/src &&
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
> 
> -DQT_CORE_LIB -DQT_MAC_USE_COCOA -DQT_NO_CAST_FROM_BYTEARRAY -
> DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_SIGNALS_SLOTS_KEYWORDS -
> DQT_NO_URL_CAST_FROM_STRING -DQT_QSP_XDG_LIB 
> -DQT_USE_FAST_OPERATOR_PLUS -
> DQT_USE_QSTRINGBUILDER -DTRANSLATION_DOMAIN=\"kdoctools5\" 
> -D_DARWIN_C_SOURCE -
> D_LARGEFILE64_SOURCE -O3 -march=native -g -DNDEBUG -stdlib=libc++  
> -std=c++0x -
> fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts 
> -Wformat-security -
> Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor 
> -Woverloaded-virtual -
> Werror=return-type -pedantic -Wno-gnu-zero-variadic-macro-arguments 
> -mmacosx-
> version-min=10.9 -I/opt/local/var/macports/build/_opt_local_site-
> ports_kf5_Frameworks/kf5-kdoctools/work/build/src -
> I/opt/local/var/macports/build/_opt_local_site-ports_kf5_Frameworks/kf5-
> kdoctools/work/kdoctools-5.15.0/src -I/opt/local/include/libxml2 -
> I/opt/local/include -iframework 
> /opt/local/libexec/qt5/Library/Frameworks -
> isystem 
> /opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/Headers -
> isystem /opt/local/share/qt5/mkspecs/macx-clang -isystem
> /opt/local/libexec/qt5/Library/Frameworks/QtQspXDG.framework/Headers 
> -isystem
> /opt/local/include/KF5/KArchive -isystem /opt/local/include/KF5    
> -fPIC -o
> CMakeFiles/meinproc5.dir/xslt_kde.cpp.o -c
> /opt/local/var/macports/build/_opt_local_site-ports_kf5_Frameworks/kf5-
> kdoctools/work/kdoctools-5.15.0/src/xslt_kde.cpp
> 
> looking closely enough, you'll see that there's (in that order)
> 
> -I/opt/local/include -isystem /opt/local/include/KF5/KArchive
> 
> so it's perfectly correct that the KDE4 header is picked up first.
> 
> And the KARCHIVE_DEPRECATED error is explained the same way: the KDE4
> karchive_export.h header is found before the KF5 one ...
> 
> I must admit I don't really see the point in bundling headerfiles in a 
> specific
> directory, only to relinquish the selectivity that allows from #include
> statements by adding the directory/ies to the -I includepath ...

Well, if we'd done it for kdelibs4 as well, you wouldn't have this issue 
- if you had to add -I/opt/local/include/kdelibs in order to find any 
kdelibs headers, none would be found by mistake.

Alex


More information about the Kde-frameworks-devel mailing list