[mythtv] problems of developing myth plugin, and how to develop on mythdora

Kevin Kuphal kuphal at dls.net
Thu Mar 1 15:01:22 UTC 2007


Xi Jiarong wrote:
>
> I want to build one myth plugin on my mythdora os.
> I have two computers installed MythDora, and I remove mythtv from one 
> of these two computers, and then through the following way:
> #yum install libmyth-devel
> to install the corresponding softwares and get those header files for 
> building plugin.
> Then I tried to build mythnews, the official plugin, the building 
> process is as following:
> and got libmythnews.so file, and then I copy this libmythnews.so file 
> to my another mythdora system installed full mythdora, and add one 
> button on mainmenu.xml.
> However, when I choose this button, one warning message appear: "The 
> problem: The mythnew plugin was compiled against libmyth 
> version:0.20.2007 0124-1, but the installed libmyth is at 
> version:0.20.20060828-3 . You probably want to recompile the mythnews 
> plugin after doing a make distclean"
> but I can't solve this problem when I tried to make clean and make 
> distclean.
> As for my situation, how to develop plugin on mythdora? or which way 
> to develop plugin is the compared easer and convient one?
>
>
>
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////
> ////////////////////    building mythnews process: 
> //////////////////////////////////////////
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////
> [root at localhost mythplugins]# cd mythnews/
> [root at localhost mythnews]# dir
> AUTHORS  ChangeLog  COPYING  i18n  mythnews  _mythnews.pro_ 
> <http://mythnews.pro/>  README
> [root at localhost mythnews]# qmake
> [root at localhost mythnews]# make
> cd mythnews && qmake _mythnews.pro_ <http://mythnews.pro/> -o Makefile
> cd mythnews && make -f Makefile
> make[1]: Entering directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythpl
> ugins/mythnews/mythnews'
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 
> -I/usr/li
> b/glib-2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG 
> -I/usr/lib/qt-3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o main.o main.cpp
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 
> -I/usr/li
> b/glib-2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG 
> -I/usr/lib/qt-3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o mythnews.o mythnews.cpp
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 
> -I/usr/li
> b/glib-2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG 
> -I/usr/lib/qt-3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o mythnewsconfig.o mythnewsconfig.cpp
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 
> -I/usr/li
> b/glib-2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG 
> -I/usr/lib/qt-3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o newsengine.o newsengine.cpp
> /usr/lib/qt-3.3/bin/moc mythnews.h -o moc_mythnews.cpp
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib- 
> 2.0 -I/usr/li
> b/glib-2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG 
> -I/usr/lib/qt-3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o moc_mythnews.o moc_mythnews.cpp
> /usr/lib/qt-3.3/bin/moc mythnewsconfig.h -o moc_mythnewsconfig.cpp
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 
> -I/usr/li
> b/glib- 2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG -I/usr/lib/qt- 
> 3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o moc_mythnewsconfig.o moc_mythnewsconfig.cpp
> /usr/lib/qt-3.3/bin/moc newsengine.h -o moc_newsengine.cpp
> g++ -c -pipe -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 
> -I/usr/li
> b/glib-2.0/include -Wno-non-virtual-dtor -Wall -W -g -D_REENTRANT 
> -DPIC -fPIC  -
> D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64 -DQT_TH
> READ_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG 
> -I/usr/lib/qt-3.3/mkspecs/def
> ault -I. -I/usr/local/include -I/usr/kde/3.3/include 
> -I/usr/local/include -I/usr
> /lib/qt-3.3/include -o moc_newsengine.o moc_newsengine.cpp
> rm -f libmythnews.so
> g++ -shared -o libmythnews.so main.o mythnews.o mythnewsconfig.o 
> newsengine.o mo
> c_mythnews.o moc_mythnewsconfig.o moc_newsengine.o  -L/usr/kde/3.3/lib 
> -L/usr/li
> b/qt-3.3/lib -L/usr/local/lib -lqt-mt -lpthread
> make[1]: Leaving directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythplu
> gins/mythnews/mythnews'
> cd i18n && qmake _i18n.pro_ <http://i18n.pro/> -o Makefile
> cd i18n && make -f Makefile
> make[1]: Entering directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythpl
> ugins/mythnews/i18n'
> gcc -c -pipe -Wall -W -O3 -fomit-frame-pointer -Wall -Wno-switch 
> -fomit-frame-po
> inter  -D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DMMX -Di386 
> -D_FILE_OFFSET_BITS=64
>  -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/local/include 
> -I/usr/kde/3.3/inclu
> de -I/usr/local/include -o dummy.o dummy.c
> g++  -o i18n dummy.o    -L/usr/kde/3.3/lib -L/usr/local/lib
> make[1]: Leaving directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythplu
> gins/mythnews/i18n'
> [root at localhost mythnews]# make install
> ( [ -d mythnews ] && cd mythnews ; grep "^qmake_all:" Makefile && make 
> -f Makefi
> le qmake_all; ) || true
> ( [ -d i18n ] && cd i18n ; grep "^qmake_all:" Makefile && make -f 
> Makefile qmake
> _all; ) || true
> ( [ -d mythnews ] && cd mythnews ; make -f Makefile install; ) || true
> make[1]: Entering directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythpl
> ugins/mythnews/mythnews'
> cp -f "libmythnews.so" "/usr/local/lib/mythtv/plugins/libmythnews.so"
> cp -f "news-sites.xml" "/usr/local/share/mythtv/mythnews/"
> cp -f "images/news-info-bg.png" "/usr/local/share/mythtv/themes/default/"
> cp -f "news-ui.xml" "/usr/local/share/mythtv/themes/default/"
> make[1]: Leaving directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythplu                                           
> gins/mythnews/mythnews'
> ( [ -d i18n ] && cd i18n ; make -f Makefile install; ) || true
> make[1]: Entering directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythpl                                           
> ugins/mythnews/i18n'
> cp -f "mythnews_it.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_es.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_ca.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_nl.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_de.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_dk.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_pt.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_sv.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_fr.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_ja.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_si.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_et.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_fi.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_nb.qm" "/usr/local/share/mythtv/i18n/"
> cp -f "mythnews_ru.qm" "/usr/local/share/mythtv/i18n/"
> make[1]: Leaving directory 
> `/home/mythtv/mythtv_build/release-0-20-fixes/mythplu                                           
> gins/mythnews/i18n'
> [root at localhost mythnews]#
> ////////////////////////////////////////////////////////////////////////////////////////////////////////// 
>
>
>
>
>   
I hate to sound glib, but if you are venturing into plugin development, 
you should be comfortable enough to set up your own Linux distribution 
and compile Myth from source on each system you have.  The reason you 
get that conflict is because you have different versions of the source 
on your MythDora system vs. your development version.  Get both versions 
the same and you will be fine.

Kevin






More information about the mythtv-dev mailing list