[mythtv-users] Cross-compiled win32 binaries failing to run
Lawrence Rust
lvr at softsystem.co.uk
Tue Dec 20 15:13:17 UTC 2011
On Tue, 2011-12-20 at 11:50 +0200, Markus Mattinen wrote:
> 2011/12/20 Lawrence Rust <lvr at softsystem.co.uk>
> What version of Myth are you building? The safe bet is
> fixes/0.24.1
> The script sometimes falls behind git master due to
> adding/removing
> libraries. If that's the case then let me know and I'll get
> it fixed.
> --
> Lawrence
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
>
>
> It's not about the version I'm building - I just tried fixes/0.24 and
> got the same result.
> According to my limited debugging capabilities, it seems to stop
> running when it encounters the first movq instruction.
> Does that mean there's something wrong with my mingw32 or the cpu
> architecture I'm building for?
> Should I be specifying a -c <cpu> or
> {CFLAGS,CXXFLAGS}="-march=<something>" when building on a 64 bit
> machine with mingw32?
If you're using mythbuild.sh then the script should be setting the flags
appropriately. Just for the record what does mythtv/config.log contain?
If you're running on a different cpu to that on which you're building
then it may be necessary to specify the --cpu option for mythtv
configure. This is conveniently done by using the -c option in
mythbuild.sh e.g. "-c i686" will compile for a PentiumPro.
> I just tried some different options for those (native and i486) but
> those failed to compile with "Error: unsupported for `movq'" assembler
> messages.
> What should I be using?
You need to build for at least a Pentium. If your target doesn't
support that then you may need to patch the ffmpeg code.
I have just built git master using mythbuild.sh - it needs this patch to
compile:
--- a/mythtv/libs/libmythtv/dtvrecorder.cpp
+++ b/mythtv/libs/libmythtv/dtvrecorder.cpp
@@ -330,7 +330,7 @@ static QDateTime ts_to_qdatetime(
uint64_t pts, uint64_t pts_first, QDateTime &pts_first_dt)
{
if (pts < pts_first)
- pts += 0x1FFFFFFFF;
+ pts += Q_UINT64_C(0x1FFFFFFFF);
QDateTime dt = pts_first_dt;
return dt.addMSecs((pts - pts_first)/90);
}
The built mythfrontend will run using Wine but needs "-O
ThemePainter=qt -O UIPainter=Qt" options.
--
Lawrence
More information about the mythtv-users
mailing list