Re: QtCore4.dll

2006-11-09 Thread Stephan Kulow
Am Donnerstag, 9. November 2006 09:00 schrieb Harri Porten:
 Sidenote:

 On Thu, 9 Nov 2006, Stephan Kulow wrote:
  As you can see it links all Qt libs twice. If I remove the QtCore4.lib
  manually, kpat starts up fine, if not it crashes in random places, which
  indicate that kpat uses different (binary incompatible) QMap code than
  kdelibs does.

 This is not necessarily about binary incompatibility but likely about a
 heap conflict between the debug and release libraries. Opening kpat in
 depends.exe is likely to show both msvcrt.dll and msvcrtd.dll in the list
 of dependencies.

Ah, that's the ldd of windows? :)

Greetings, Stephan
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: QtCore4.dll

2006-11-09 Thread Harri Porten
On Thu, 9 Nov 2006, Stephan Kulow wrote:

 This is not necessarily about binary incompatibility but likely about a
 heap conflict between the debug and release libraries. Opening kpat in
 depends.exe is likely to show both msvcrt.dll and msvcrtd.dll in the list
 of dependencies.

 Ah, that's the ldd of windows? :)

In union with an nm equivalent.

Harri.
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: QtCore4.dll

2006-11-09 Thread Christian Ehrlicher
Stephan Kulow schrieb:
 Hi!
 
 I found out why kpat requires QtCore4 - it links both against Core and 
 Cored, everything in kdegames does: E.g.
 
 kdegames_LIB_DEPENDS:STATIC=C:/kde/qt-win-opensource-src-4.2.1/lib/QtCore4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCored4.lib;kdecore;c:/kde/inst/lib/kdewin32d.lib;user32;shell32;ws2_32;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXml4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXmld4.lib;kdeui;kutils;kparts;kio;c:/kde/inst/lib/kde3support.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCore4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCored4.lib;kdecore;c:/kde/inst/lib/kdewin32d.lib;user32;shell32;ws2_32;c:/kde/inst/lib/kdnssd.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXml4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXmld4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtNetwork4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtNetworkd4.lib;
 
 As you can see it links all Qt libs twice. If I remove the QtCore4.lib 
 manually, kpat starts up fine, if not it crashes in random places, which 
 indicate that kpat uses different (binary incompatible) QMap code than 
 kdelibs does. But I have no idea where the code to create this, but I guess 
 in cmake itself.
 
There seems to be some problems in the generated KDELibsDependencies.cmake:

SET(kio_LIB_DEPENDS
E:/Qt/qt-4.2.1/lib/QtCore4.lib;E:/Qt/qt-4.2.1/lib/QtCored4.lib;...)
should be
SET(kio_LIB_DEPENDS
optimized;E:/Qt/qt-4.2.1/lib/QtCore4.lib;debug;E:/Qt/qt-4.2.1/lib/QtCored4.lib;...)

And the undocumented command foo_LINK_TYPE seems not to work like
expected. I stepped through cmTarget::AddLinkLibrary() and saw that
_LINK_TYPE is not recognized due to LinkLibraryType is always
cmTarget::GENERAL. But also removing the check for cmTarget::GENERAL
does not help... :(

btw: qtuitools.lib_LINK_TYPE is set to general instead optimized



signature.asc
Description: OpenPGP digital signature
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: QtCore4.dll

2006-11-09 Thread Stephan Kulow
Am Donnerstag, 9. November 2006 11:12 schrieb Stephan Kulow:
 Am Donnerstag, 9. November 2006 10:50 schrieb Manuel Klimek:
  Hi,
 
  I'm just curious:
  was it already discussed to name the debug libraries *d.dll on windows?
  I don't want to start a 'religious' discussion ;-), but this would
  allow release and debug builds side by side on windows, where debug and
  release libraries mustn't be mixed.

 It was discussed in general and was discarded as under Unix at least those
 libraries are binary compatible. But I just tried to enable postfix for
 windows builds. Let's see how much breaks :)

Meanwhile I found out that this breaks compilation, but I miss the time to fix 
it atm. So I guess we should briefly discuss if we want to keep it for 
Windows or rather revert it? I'd prefer if it's fixed, but I can only do so 
later.

Greetings, Stephan
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: QtCore4.dll

2006-11-09 Thread Christian Ehrlicher
Stephan Kulow schrieb:
 Am Donnerstag, 9. November 2006 11:12 schrieb Stephan Kulow:
 Am Donnerstag, 9. November 2006 10:50 schrieb Manuel Klimek:
 Hi,

 I'm just curious:
 was it already discussed to name the debug libraries *d.dll on windows?
 I don't want to start a 'religious' discussion ;-), but this would
 allow release and debug builds side by side on windows, where debug and
 release libraries mustn't be mixed.
 It was discussed in general and was discarded as under Unix at least those
 libraries are binary compatible. But I just tried to enable postfix for
 windows builds. Let's see how much breaks :)
 
 Meanwhile I found out that this breaks compilation, but I miss the time to 
 fix 
 it atm. So I guess we should briefly discuss if we want to keep it for 
 Windows or rather revert it? I'd prefer if it's fixed, but I can only do so 
 later.
 
I prefer the debug suffix too.

Christian



signature.asc
Description: OpenPGP digital signature
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


QtCore4.dll

2006-11-08 Thread Stephan Kulow
Hi!

I found out why kpat requires QtCore4 - it links both against Core and 
Cored, everything in kdegames does: E.g.

kdegames_LIB_DEPENDS:STATIC=C:/kde/qt-win-opensource-src-4.2.1/lib/QtCore4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCored4.lib;kdecore;c:/kde/inst/lib/kdewin32d.lib;user32;shell32;ws2_32;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXml4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXmld4.lib;kdeui;kutils;kparts;kio;c:/kde/inst/lib/kde3support.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCore4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCored4.lib;kdecore;c:/kde/inst/lib/kdewin32d.lib;user32;shell32;ws2_32;c:/kde/inst/lib/kdnssd.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXml4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXmld4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtNetwork4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtNetworkd4.lib;

As you can see it links all Qt libs twice. If I remove the QtCore4.lib 
manually, kpat starts up fine, if not it crashes in random places, which 
indicate that kpat uses different (binary incompatible) QMap code than 
kdelibs does. But I have no idea where the code to create this, but I guess 
in cmake itself.

Greetings, Stephan

___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


Re: QtCore4.dll

2006-11-08 Thread Harri Porten
Sidenote:

On Thu, 9 Nov 2006, Stephan Kulow wrote:

 As you can see it links all Qt libs twice. If I remove the QtCore4.lib
 manually, kpat starts up fine, if not it crashes in random places, which
 indicate that kpat uses different (binary incompatible) QMap code than
 kdelibs does.

This is not necessarily about binary incompatibility but likely about a 
heap conflict between the debug and release libraries. Opening kpat in 
depends.exe is likely to show both msvcrt.dll and msvcrtd.dll in the list 
of dependencies.

Harri.
___
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem