kdelibs compile error
Ralf Habacker
ralf.habacker at freenet.de
Fri Aug 8 10:56:41 CEST 2008
Alexander Neundorf schrieb:
> On Wednesday 06 August 2008, Ralf Habacker wrote:
>
>> Ralf Habacker schrieb:
>>
> ...
>
>>> 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
>>>
>> Additional note: I added a std::cerr immediatly after main and is was
>> printed when running nmake rebuild_cache. This indicates that nmake
>> rebuild_cache does not regenerate the dependencies, so how to trigger
>> this ?
>>
>
> One would have to check when AddVarLinkEntries() is actually called.
> Or just use the brute force method and add debug output also in
> cmTarget::GatherDependencies() and cmTargetLinkLibrariesCommand::IntialPass()
> (I don't think that this one causes the problem).
>
I found out that in
void cmComputeLinkInformation::AddItem(std::string const& item,
cmTarget* tgt)
the debug and optimized flags are added as regular items which looks
wrong - in the opposite the general items are removed before
> cmake.exe!cmComputeLinkInformation::AddItem(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
item="kdecore", cmTarget * tgt=0x0268afcc) Line 575 C++
cmake.exe!cmComputeLinkInformation::Compute() Line 528 C++
cmake.exe!cmTarget::GetLinkInformation(const char *
config=0x01fe1a7c) Line 3590 + 0xe bytes C++
cmake.exe!cmMakefileTargetGenerator::AppendTargetDepends(std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > &
depends=[2]("kdecore/tests/CMakeFiles/ksavefiletest.dir/ksavefiletest_automoc.obj",...,...))
Line 1475 + 0xf bytes C++
cmake.exe!cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool
relink=false) Line 108 C++
cmake.exe!cmMakefileExecutableTargetGenerator::WriteRuleFiles()
Line 62 + 0x11 bytes C++
cmake.exe!cmLocalUnixMakefileGenerator3::Generate() Line 137 + 0xf
bytes C++
cmake.exe!cmGlobalGenerator::Generate() Line 880 + 0x2c bytes C++
cmake.exe!cmGlobalUnixMakefileGenerator3::Generate() Line 143 C++
cmake.exe!cmake::Generate() Line 2325 + 0x1b bytes C++
cmake.exe!cmake::Run(const
std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > &
args=[3]("E:\daten\kde\emerge-msvc-root\bin\cmake.exe","-HC:\downloads\kdesvn\trunk\KDE\kdelibs",...,...),
bool noconfigure=false) Line 2305 + 0x8 bytes C++
cmake.exe!do_cmake(int ac=3, char * * av=0x017d6088) Line 482 +
0x19 bytes C++
cmake.exe!main(int ac=3, char * * av=0x017d6088) Line 295 + 0xd
bytes C++
cmake.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
cmake.exe!mainCRTStartup() Line 403 C
kernel32.dll!7c816fd7()
[Frames below may be incorrect and/or missing, no symbols loaded
for kernel32.dll]
BTW: cmake 2.6.x does have a switch for printing out depends debug
informations.
################# set KDE specific information #################
set(CMAKE_LINK_DEPENDS_DEBUG_MODE 1)
Ralf
More information about the Kde-windows
mailing list