[mythtv] Win32 + QT4 segfault: resolved

buzz davidbuzz at gmail.com
Tue Jul 1 08:41:03 UTC 2008


Andrei,

It seems my theory was correct earlier... if I understand
correctly.... basically it means that (at least under mingw/msys) that
'extern const'  is NOT allowed to refer to a DATA section (as created
by the 'const' keyword) (eg: extern const struct, or extern const
QMetaObject in this case )  if any/all of the data comes from a DLL.
I think.

This results in a DLL with an .rdata section that contains a run-time
resolved reference to the data/struct/etc, and because it's in a
read-only (.rdata) section of the executable, it can't be "run-time
resolved", because the piece of application is loaded into memory as
read-only, which SHOULD made sense if it's a .rdata section, right??
clearly not.

Arnon was also correct in his determination that it was related to the
QMetaObject, and the fact that it had changed ('const' added) from
QT3->QT4 had also not escaped him, so well done to all!

I am currently building with a modified win32-packager.pl script ...
and will let you all know how I go......(including changing to qt
4.4.0, so the qt build is slow.... )   quick patch will come after I
know it works.....

Buzz.


More information about the mythtv-dev mailing list