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