[mythtv-users] not finding mythtv.pm perl binding

Anthony Arobone aaroboneml at gmail.com
Thu Sep 11 20:15:33 UTC 2008


> So i'm at a lose.  I've been trying to get the perl bindings to work for a
> week now.  I even posted to the Gentoo forums but am not getting any good
> feedback.  Here is the forum post:
> http://forums.gentoo.org/viewtopic-t-707272.html
>
> I'll repost it here too:
> I'm trying to run /usr/share/mythtv/contrib/ipodexport.pl script from
> within Mythtv backend as a user job.
>
> But it fails with
>  *Code:*  Net::UPnP::ControlPoint is not installed!
> Please install Net::UPnP or copy ~/.mythtv/config.xml
> from a working MythTV installation to /home/mythtv/.mythtv/config.xml.
> Compilation failed in require at /usr/share/mythtv/contrib/ipodexport.pl
> line 19.
> BEGIN failed--compilation aborted at
> /usr/share/mythtv/contrib/ipodexport.pl line 19.
>
> Line 17-20 of ipodexport.pl:
>  *Code:*
>   use DBI;
>   use DBD::mysql;
> > use MythTV;
>
>
>
> So i'm assuming it can't find the perl bindings. Here is everything I know:
>
>
> 1) If I run ipodexport.pl from command line as 'root' it works perfect.
>
> 2) I changed my mythtv user login from:
>  *Code:*  mythtv:x:102:27:added by portage for mythtv:/dev/null:/bin/false
> TO
>  *Code:*  mythtv:x:102:27:added by portage for
> mythtv:/home/mythtv:/bin/bash
>
> so I could login as the mythtv user and run from command line, this also
> fails with the same error.
>
>
> 3) perl -V (as root)
>  *Code:*  Summary of my perl5 (revision 5 version 8 subversion 8)
> configuration:
>   Platform:
>     osname=linux, osvers=2.6.19-gentoo-r5, archname=i686-linux
>     uname='linux livecd 2.6.19-gentoo-r5 #1 smp tue apr 3 01:19:22 utc 2007
> i686 intel(r) pentium(r) 4 cpu 2.40ghz genuineintel gnulinux '
>     config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC
> -Dccdlflags=-rdynamic -Dcc=i686-pc-linux-gnu-gcc -Dprefix=/usr
> -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth=  -Doptimize=-O2
> -march=i686 -funroll-loops -pipe -Duselargefiles -Dd_semctl_semun
> -Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1
> -Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1
> -Dinstallman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm
> -Dinc_version_list=5.8.0 5.8.0/i686-linux 5.8.2 5.8.2/i686-linux 5.8.4
> 5.8.4/i686-linux 5.8.5 5.8.5/i686-linux 5.8.6 5.8.6/i686-linux 5.8.7
> 5.8.7/i686-linux  -Dcf_by=Gentoo -Ud_csh -Dusenm -Di_ndbm -Di_gdbm -Di_db'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef
>   Compiler:
>     cc='i686-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing -pipe
> -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>     optimize='-O2 -march=i686 -funroll-loops -pipe',
>     cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
>     ccversion='', gccversion='4.1.2 (Gentoo 4.1.2 p1.1)', gccosandvers=''
>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>     alignbytes=4, prototype=define
>   Linker and Libraries:
>     ld='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib'
>     libpth=/usr/local/lib /lib /usr/lib
>     libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
>     perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
>     libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a
>     gnulibc_version='2.6.1'
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
>     cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
>   Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
>   Built under linux
>   Compiled at Aug 30 2008 12:13:30
>   @INC:
>     /etc/perl
>     /usr/lib/perl5/vendor_perl/5.8.8/i686-linux
>     /usr/lib/perl5/vendor_perl/5.8.8
>     /usr/lib/perl5/vendor_perl/5.8.2
>     /usr/lib/perl5/vendor_perl/5.8.2/i686-linux
>     /usr/lib/perl5/vendor_perl
>     /usr/lib/perl5/site_perl/5.8.8/i686-linux
>     /usr/lib/perl5/site_perl/5.8.8
>     /usr/lib/perl5/site_perl/5.8.0
>     /usr/lib/perl5/site_perl/5.8.0/i686-linux
>     /usr/lib/perl5/site_perl
>     /usr/lib/perl5/5.8.8/i686-linux
>     /usr/lib/perl5/5.8.8
>     /usr/local/lib/site_perl
>     .
>
>
> 4) perl -V (as mythtv)
>  *Code:*
> Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
>   Platform:
>     osname=linux, osvers=2.6.19-gentoo-r5, archname=i686-linux
>     uname='linux livecd 2.6.19-gentoo-r5 #1 smp tue apr 3 01:19:22 utc 2007
> i686 intel(r) pentium(r) 4 cpu 2.40ghz genuineintel gnulinux '
>     config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC
> -Dccdlflags=-rdynamic -Dcc=i686-pc-linux-gnu-gcc -Dprefix=/usr
> -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth=  -Doptimize=-O2
> -march=i686 -funroll-loops -pipe -Duselargefiles -Dd_semctl_semun
> -Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1
> -Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1
> -Dinstallman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm
> -Dinc_version_list=5.8.0 5.8.0/i686-linux 5.8.2 5.8.2/i686-linux 5.8.4
> 5.8.4/i686-linux 5.8.5 5.8.5/i686-linux 5.8.6 5.8.6/i686-linux 5.8.7
> 5.8.7/i686-linux  -Dcf_by=Gentoo -Ud_csh -Dusenm -Di_ndbm -Di_gdbm -Di_db'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef
>   Compiler:
>     cc='i686-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing -pipe
> -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>     optimize='-O2 -march=i686 -funroll-loops -pipe',
>     cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
>     ccversion='', gccversion='4.1.2 (Gentoo 4.1.2 p1.1)', gccosandvers=''
>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>     alignbytes=4, prototype=define
>   Linker and Libraries:
>     ld='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib'
>     libpth=/usr/local/lib /lib /usr/lib
>     libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
>     perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
>     libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a
>     gnulibc_version='2.6.1'
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
>     cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
>   Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
>   Built under linux
>   Compiled at Aug 30 2008 12:13:30
>   @INC:
>     /etc/perl
>     /usr/lib/perl5/vendor_perl/5.8.8/i686-linux
>     /usr/lib/perl5/vendor_perl/5.8.8
>     /usr/lib/perl5/vendor_perl/5.8.2
>     /usr/lib/perl5/vendor_perl/5.8.2/i686-linux
>     /usr/lib/perl5/vendor_perl
>     /usr/lib/perl5/site_perl/5.8.8/i686-linux
>     /usr/lib/perl5/site_perl/5.8.8
>     /usr/lib/perl5/site_perl/5.8.0
>     /usr/lib/perl5/site_perl/5.8.0/i686-linux
>     /usr/lib/perl5/site_perl
>     /usr/lib/perl5/5.8.8/i686-linux
>     /usr/lib/perl5/5.8.8
>     /usr/local/lib/site_perl
>     .
>
>
> File listing:
>  *Code:*
> -r--r--r-- 1 mythtv root 1871 Aug 31 04:16
> /usr/lib/perl5/vendor_perl/5.8.8/IO/Socket/INET/MythTV.pm
> -r--r--r-- 1 mythtv root 33151 Aug 31 04:16
> /usr/lib/perl5/vendor_perl/5.8.8/MythTV.pm
> -r--r--r--  1 mythtv root  4372 Aug 31 04:16
> /usr/lib/perl5/vendor_perl/5.8.8/MythTV/Channel.pm
> -r--r--r--  1 mythtv root 20494 Aug 31 04:16
> /usr/lib/perl5/vendor_perl/5.8.8/MythTV/Program.pm
> -r--r--r--  1 mythtv root 23275 Aug 31 04:16
> /usr/lib/perl5/vendor_perl/5.8.8/MythTV/Recording.pm
> -r--r--r--  1 mythtv root  2601 Aug 31 04:16
> /usr/lib/perl5/vendor_perl/5.8.8/MythTV/StorageGroup.pm
> -rw-r--r-- 1 root root 612 Aug 31 05:01
> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/MythTV/.packlist
>
>
> I changed the owner to 'mythtv' user, it was 'root'.
>
> I also noticed I still have a couple old perl libs in /usr/lib/perl5/5.8.0
> and 5.8.2. Including a dir in vendor_per/5.8.2. Should I delete these old
> perl versions? I've already run 'perl-clearner all', it didn't help.
>
> Any clues? I can't figure this out for the life of me.
>
> Thanks
>
> EDIT: just upgraded to media-tv/mythtv-0.21_p18116 and
> dev-lang/perl-5.8.8-r5
>

Wow, think I just fixed it.  I just did what it said...copied a working
~/.mythtv/config from my frontend user to the home dir of the backend user
and boom, the perl script started working.  oh man.  It was a long journey,
hahaha.  But, in my defense the way Gentoo sets up the backend user is
without a shell or home dir, so I had to figure out all that first ;)

Hope this helps anyone else out there.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-users/attachments/20080911/1a41d90c/attachment.htm 


More information about the mythtv-users mailing list