kdelibs compile error
Ralf Habacker
ralf.habacker at freenet.de
Wed Aug 6 11:08:19 CEST 2008
Alexander Neundorf schrieb:
> On Wednesday 06 August 2008, Ralf Habacker wrote:
> ...
>
>>> The keywords "general", "optimized" and "debug" are handled in
>>> ------------
>>> cmTargetLinkLibrariesCommand::InitialPass().
>>> If there is a way that TARGET_LINK_LIBRARIES() ends up e.g.
>>> with "general;kdecore;debug;debug;kdeui;", i.e. two keywords behind each
>>> other, then this might cause the problem. The question is, can that
>>> happen ? It shouldn't. Can you find out whether that happens there ?
>>>
>> seems not to be.
>>
>>
>>> --------------
>>> They are also handled in
>>> cmComputeLinkDepends::AddVarLinkEntries() and
>>> cmTarget::GatherDependencies(). These two functions may have the same
>>> issue, i.e. if the arguments they get contains two of the keywords in a
>>> row it might happen.
>>> Can check whether that happens ?
>>>
>> In this place there is some magic with compatibility I don't understand
>> yet. As there seems not to be a debug mode like qmake or autotools have
>> the only way to find what's going wrong is to add debug prints on
>> several places to see what happens inside -
>>
>
> Yes.
>
>
>> but this need cmake to be compilable :-(
>>
>
> Which should be the case tomorrow, probably.
>
Thanks patrick patch cmake 2.6.1 could not be build with nmake.
Then I added in cmComputeLinkDepends.cxx
void cmComputeLinkDepends::AddVarLinkEntries(int depender_index,
...
// Look for entries meant for this configuration.
std::vector<std::string> actual_libs;
cmTarget::LinkLibraryType llt = cmTarget::GENERAL;
bool haveLLT = false;
for(std::vector<std::string>::const_iterator di = deplist.begin();
di != deplist.end(); ++di)
{
+ std::cerr << "+++" << *di << "\n";
...
}
and after the closing tag of the loop
for(std::vector<std::string>::const_iterator di =
actual_libs.begin(); di != actual_libs.end(); ++di)
std::cerr << "+-+" << *di;
Then I run
nmake rebuild_cache
in kdelibs-build dir but I saw no debug prints neither on the command
line nor the CMakeFiles/CMakeOutput.log nor CMakeFiles/CMakeError.log
How to proceed ?
Ralf
More information about the Kde-windows
mailing list