[mythtv] issues with Windows NUV decode

jonathanjstevens at gmail.com jonathanjstevens at gmail.com
Thu Apr 14 21:28:16 UTC 2011


Hi,

Hope this is OK coming to the dev list.

I've recently rebuilt my MythTV systems to 0.24 fixes. All the backend work
lovely, but I'm having a few challenges with some of the frontends which are
Windows.
I've chosen to cross-compile, I am compiling on a XEN VM (paravirt F14)
using mingw32 and the script as per
http://www.softsystem.co.uk/mythtv/index.htm

Compilation appears to work OK (at first glance).

Installer works, and MythTV successfully installs on the Windows box (XP and
Win7).

Live TV works, open GL and DirectX - I assume native MPEG from the DVB
cards.
However, when I try to watch recorded TV I get an error saying that the
frontend can't start the NUV decoder - it doesn't appear to be in the av
libs.

So, I started looking at the compile a bit more and found these....

Installing mythtv (release)
*********************************************************************

make install...
INSTALL libavformat/libmythavformat.dll
STRIP install-libavformat-shared
install: cannot stat `libavformat/libmythavformat-52.lib': No such file or
directory
install: cannot stat `libavformat/libmythavformat-52.lib': No such file or
directory
INSTALL libavcodec/libmythavcodec.dll
STRIP install-libavcodec-shared
install: cannot stat `libavcodec/libmythavcodec-52.lib': No such file or
directory
install: cannot stat `libavcodec/libmythavcodec-52.lib': No such file or
directory
INSTALL libpostproc/libmythpostproc.dll
STRIP install-libpostproc-shared
install: cannot stat `libpostproc/libmythpostproc-51.lib': No such file or
directory
install: cannot stat `libpostproc/libmythpostproc-51.lib': No such file or
directory
INSTALL libswscale/libmythswscale.dll
STRIP install-libswscale-shared
install: cannot stat `libswscale/libmythswscale-0.lib': No such file or
directory
install: cannot stat `libswscale/libmythswscale-0.lib': No such file or
directory
INSTALL libavcore/libmythavcore.dll
STRIP install-libavcore-shared
install: cannot stat `libavcore/libmythavcore-0.lib': No such file or
directory
install: cannot stat `libavcore/libmythavcore-0.lib': No such file or
directory
INSTALL libavutil/libmythavutil.dll
STRIP install-libavutil-shared
install: cannot stat `libavutil/libmythavutil-50.lib': No such file or
directory
install: cannot stat `libavutil/libmythavutil-50.lib': No such file or
directory
INSTALL libavformat/avformat.h
INSTALL libavformat/avio.h
INSTALL libavcodec/avcodec.h

which makes me think perhaps some of the libraries are not compiling into
the dlls properly?

So, a bit more digging into the compile and I find...

Creating library file: libavutil/liblibmythavutil.dll.a
lib.exe /machine:i386 /def:libavutil/libmythavutil-50.def
/out:libavutil/libmythavutil-50.lib
make[1]: lib.exe: Command not found
make[1]: [libavutil/libmythavutil-50.dll] Error 127 (ignored)
LD libavcore/libmythavcore-0.dll
Creating library file: libavcore/liblibmythavcore.dll.a
lib.exe /machine:i386 /def:libavcore/libmythavcore-0.def
/out:libavcore/libmythavcore-0.lib
make[1]: lib.exe: Command not found
make[1]: [libavcore/libmythavcore-0.dll] Error 127 (ignored)
LD libavcodec/libmythavcodec-52.dll
Creating library file: libavcodec/liblibmythavcodec.dll.a
lib.exe /machine:i386 /def:libavcodec/libmythavcodec-52.def
/out:libavcodec/libmythavcodec-52.lib
make[1]: lib.exe: Command not found
make[1]: [libavcodec/libmythavcodec-52.dll] Error 127 (ignored)
LD libpostproc/libmythpostproc-51.dll
LD libavformat/libmythavformat-52.dll
LD libswscale/libmythswscale-0.dll
Creating library file: libpostproc/liblibmythpostproc.dll.a
lib.exe /machine:i386 /def:libpostproc/libmythpostproc-51.def
/out:libpostproc/libmythpostproc-51.lib
make[1]: lib.exe: Command not found
make[1]: [libpostproc/libmythpostproc-51.dll] Error 127 (ignored)
Creating library file: libswscale/liblibmythswscale.dll.a
lib.exe /machine:i386 /def:libswscale/libmythswscale-0.def
/out:libswscale/libmythswscale-0.lib
make[1]: lib.exe: Command not found
make[1]: [libswscale/libmythswscale-0.dll] Error 127 (ignored)

Which seems to explain why the libraries are not being created?

lib.exe appears to be a Windows exe, not a mingw32 on Linux tool - so I'm a
little puzzled as to how this is getting into the scripts...
So anyway, this appears to being created by the configure script in
FFmpeg...

[user at compiler FFmpeg]# more config.mak
ifndef FFMPEG_CONFIG_MAK
FFMPEG_CONFIG_MAK=1
SHFLAGS=-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def)
-Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--ena
ble-runtime-pseudo-reloc -Wl,--enable-auto-image-base
-Wl,--version-script,$(SUBDIR)lib$(NAME).ver
LIB_INSTALL_EXTRA_CMD=$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"
SLIB_CREATE_DEF_CMD=
SLIB_EXTRA_CMD=-lib.exe /machine:$(LIBTARGET) /def:$$(@:$(SLIBSUF)=.def)
/out:$(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)

Now I can see why this would be generated by FFmpeg itself, but a bit more
digging further up the tree...

[root at compiler mythtv]# grep lib.exe *
configure:        SLIB_EXTRA_CMD='-lib.exe /machine:$(LIBTARGET)
/def:$$(@:$(SLIBSUF)=.def)
/out:$(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)'
[root at compiler mythtv]#

OK, so "lib.exe" is being inserted by the main MythTV configuration script,
see below for the config.log

[root at compiler mythtv]# more config.log
Thu Apr 14 21:48:04 BST 2011
   ./configure --prefix=/windows/mythtv/build/mythinstall --runprefix=.
--qmake=/windows/mythtv/build/mythbuild/qt-everywhere-opensource-src-4.7.0/bin/qmake
--enable-cross-compile --cross-prefix=i686-pc-mingw32- --target_os=mingw32
--arch=x86 --sysinclude=/windows/mythtv/build/mythinstall/include
--extra-cflags=-I/windows/mythtv/build/mythinstall/include
--extra-cxxflags=-I/windows/mythtv/build/mythinstall/include
--extra-libs=-L/windows/mythtv/build/mythinstall/lib --disable-avdevice
--disable-avfilter --enable-libfftw3 --disable-directfb
--disable-joystick-menu --disable-lirc --disable-hdhomerun
--disable-symbol-visibility --compile-type=release

I can't see any good reason for configure to be setting the use of lib.exe
(which just isn't going to work on a linux platform) with the above options?

I played around for a while trying to get deptool to be a fake lib.exe but
I'm WAY out of my depth and unsurprisingly that didn't work...

Um.... so, I guess I'm asking - is this a bug in the main mythtv ./configure
? Or I can change this behaviour somehow.


Regards,
Jonathan

PS Thanks for all the hard work you all do on MythTV - I'm a big fan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.mythtv.org/pipermail/mythtv-dev/attachments/20110414/ae2bf77f/attachment.html 


More information about the mythtv-dev mailing list