MSVC build of kdelibs fails

Andreas Pakulat apaku at gmx.de
Mon Dec 24 12:19:28 CET 2007


On 24.12.07 11:38:25, Christian Ehrlicher wrote:
> Andreas Pakulat schrieb:
> > On 23.12.07 18:13:52, Andreas Pakulat wrote:
> >> On 23.12.07 17:46:19, Andreas Pakulat wrote:
> >>> On 23.12.07 16:14:08, Christian Ehrlicher wrote:
> >>>> If this does not help you'l have no other chance than build qdbuscpp2xml
> >>>> in debug mode and do some debugging.
> >>> I guess so...
> >> Hmm, I can't debug, because the app doesn't load at all. The problem
> >> seems to be with dbus-1d.dll from the dbus-package. MSVC tells me the
> >> following:
> >>
> >> LDR: LdrpWalkImportDescriptor() failed to probe
> >> D:\andreas\kde4\bin\dbus-1d.dll for its manifest, ntstatus 0xc0150002
> >>
> >> So it seems that when emerge builds Qt with debug_and_release a debug
> >> qdbuscpp2xml gets installed into the bin/ folder and thus dbus-1d.dll is
> >> used.
> >>
> >> If I make sure qdbuscpp2xml is built in release mode everything works
> >> fine.
> > 
> > I restarted a fresh build with emerge about 3.5 hours ago and coming
> > back to the system qdbuscpp2xml still fails to load.
> > 
> > Checked with depends and indeed it links to dbus-1d.dll (indirectly via
> > QtDBusd4.dll), and dbus-1d.dll one is said to be having errors.
> > 
> > I get the same error when opening just QtDbusd4.dll.
> > 
> > Another thing is: When opening the non-debug-QtDBus lib I have a missing
> > MSVCR80.dll, which is "pulled in" by QtXml.dll. That library shows
> > strange dependencies onto dll's in
> > C:\windows\winsxs\x86_microsoft.vc80.crt_<hash>_8.0...._x-www_<hash>\
> > i.e. it links against the MSVCP80.dll in that dir and that one wants the
> > MSVCR80.dll (which is in the same dir). Is that normal? 
> > 
> > Anyway, putting the msvcr80.dll into Windows\system32 or directly into
> > the kde4\bin doesn't help either.
> > 
> > And it gets even stranger, the qdbusxml2cpp program also links against
> > qtdbus4.dll, but that one only has the warning about an unresolved
> > import. And when opening qdbusxml2cpp it also finds the msvcr80.dll in
> > that dir in windows\winsxs.
> > 
> > Another difference between the 2 tools is that for qdbuscpp2xml there's
> > no manifest file for the release version, while there is one for the
> > debug version. Manually building the release version of qdbuscpp2xml
> > does create the .manifest file in the obj-output folder and the
> > resulting binary doesn't have any problems when opening in depends. So
> > it seems that there's still some kind of bug inside Qt4.3.3 for building
> > qdbuscpp2xml.exe, as its using the debug-binary instead of the release
> > one, even though the releease rule is the last one executed according to
> > the makefile.
> > 
> > How do I debug this further?
> > 
> Use the binary releases from Ralfs server.

Thats not how emerge works and I don't see a reason why I should need to
do that. This looks like either a bug in the dbus packages or a bug in
the Qt buildsystem. Either should be solved. I'm now going to start a
Qt4 build with MSVC manually

Andreas

-- 
You are deeply attached to your friends and acquaintances.



More information about the Kde-windows mailing list