<div dir="ltr"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">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: <a href="http://forums.gentoo.org/viewtopic-t-707272.html" target="_blank">http://forums.gentoo.org/viewtopic-t-707272.html</a><br>
<br>I'll repost it here too:<br><span>I'm trying to run /usr/share/mythtv/contrib/ipodexport.pl script from within Mythtv backend as a user job.
<br>
<br>
But it fails with
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>Net::UPnP::ControlPoint is not installed!
<br>
Please install Net::UPnP or copy ~/.mythtv/config.xml
<br>
from a working MythTV installation to /home/mythtv/.mythtv/config.xml.
<br>
Compilation failed in require at /usr/share/mythtv/contrib/ipodexport.pl line 19.
<br>
BEGIN failed--compilation aborted at /usr/share/mythtv/contrib/ipodexport.pl line 19.</td>        </tr></tbody></table><span>
<br>
<br>
Line 17-20 of ipodexport.pl:
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>
<br>
use DBI;
<br>
use DBD::mysql;
<br>
> use MythTV;
<br>
<br>
</td>        </tr></tbody></table><span>
<br>
<br>
So i'm assuming it can't find the perl bindings. Here is everything I know:
<br>
<br>
1) If I run ipodexport.pl from command line as 'root' it works perfect.
<br>
<br>
2) I changed my mythtv user login from:
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>mythtv:x:102:27:added by portage for mythtv:/dev/null:/bin/false</td>
        </tr></tbody></table><span>
<br>
TO
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>mythtv:x:102:27:added by portage for mythtv:/home/mythtv:/bin/bash
<br>
</td>        </tr></tbody></table><span>
<br>
so I could login as the mythtv user and run from command line, this also fails with the same error.
<br>
<br>
<br>
3) perl -V (as root)
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
<br>
Platform:
<br>
osname=linux, osvers=2.6.19-gentoo-r5, archname=i686-linux
<br>
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 '
<br> 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'
<br>
hint=recommended, useposix=true, d_sigaction=define
<br>
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
<br>
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
<br>
use64bitint=undef use64bitall=undef uselongdouble=undef
<br>
usemymalloc=n, bincompat5005=undef
<br>
Compiler:
<br> cc='i686-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing
-pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
<br>
optimize='-O2 -march=i686 -funroll-loops -pipe',
<br>
cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
<br>
ccversion='', gccversion='4.1.2 (Gentoo 4.1.2 p1.1)', gccosandvers=''
<br>
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
<br>
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
<br>
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
<br>
alignbytes=4, prototype=define
<br>
Linker and Libraries:
<br>
ld='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib'
<br>
libpth=/usr/local/lib /lib /usr/lib
<br>
libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
<br>
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
<br>
libc=/lib/<a href="http://libc-2.6.1.so" target="_blank">libc-2.6.1.so</a>, so=so, useshrplib=false, libperl=libperl.a
<br>
gnulibc_version='2.6.1'
<br>
Dynamic Linking:
<br>
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
<br>
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
<br>
<br>
<br>
Characteristics of this binary (from libperl):
<br>
Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
<br>
Built under linux
<br>
Compiled at Aug 30 2008 12:13:30
<br>
@INC:
<br>
/etc/perl
<br>
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux
<br>
/usr/lib/perl5/vendor_perl/5.8.8
<br>
/usr/lib/perl5/vendor_perl/5.8.2
<br>
/usr/lib/perl5/vendor_perl/5.8.2/i686-linux
<br>
/usr/lib/perl5/vendor_perl
<br>
/usr/lib/perl5/site_perl/5.8.8/i686-linux
<br>
/usr/lib/perl5/site_perl/5.8.8
<br>
/usr/lib/perl5/site_perl/5.8.0
<br>
/usr/lib/perl5/site_perl/5.8.0/i686-linux
<br>
/usr/lib/perl5/site_perl
<br>
/usr/lib/perl5/5.8.8/i686-linux
<br>
/usr/lib/perl5/5.8.8
<br>
/usr/local/lib/site_perl
<br>
.
<br>
</td>        </tr></tbody></table><span>
<br>
<br>
4) perl -V (as mythtv)
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>
<br>
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
<br>
Platform:
<br>
osname=linux, osvers=2.6.19-gentoo-r5, archname=i686-linux
<br> 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 '
<br> 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'
<br>
hint=recommended, useposix=true, d_sigaction=define
<br>
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
<br>
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
<br>
use64bitint=undef use64bitall=undef uselongdouble=undef
<br>
usemymalloc=n, bincompat5005=undef
<br>
Compiler:
<br> cc='i686-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing
-pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
<br>
optimize='-O2 -march=i686 -funroll-loops -pipe',
<br>
cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
<br>
ccversion='', gccversion='4.1.2 (Gentoo 4.1.2 p1.1)', gccosandvers=''
<br>
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
<br>
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
<br>
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
<br>
alignbytes=4, prototype=define
<br>
Linker and Libraries:
<br>
ld='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib'
<br>
libpth=/usr/local/lib /lib /usr/lib
<br>
libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
<br>
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
<br>
libc=/lib/<a href="http://libc-2.6.1.so" target="_blank">libc-2.6.1.so</a>, so=so, useshrplib=false, libperl=libperl.a
<br>
gnulibc_version='2.6.1'
<br>
Dynamic Linking:
<br>
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
<br>
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
<br>
<br>
<br>
Characteristics of this binary (from libperl):
<br>
Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
<br>
Built under linux
<br>
Compiled at Aug 30 2008 12:13:30
<br>
@INC:
<br>
/etc/perl
<br>
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux
<br>
/usr/lib/perl5/vendor_perl/5.8.8
<br>
/usr/lib/perl5/vendor_perl/5.8.2
<br>
/usr/lib/perl5/vendor_perl/5.8.2/i686-linux
<br>
/usr/lib/perl5/vendor_perl
<br>
/usr/lib/perl5/site_perl/5.8.8/i686-linux
<br>
/usr/lib/perl5/site_perl/5.8.8
<br>
/usr/lib/perl5/site_perl/5.8.0
<br>
/usr/lib/perl5/site_perl/5.8.0/i686-linux
<br>
/usr/lib/perl5/site_perl
<br>
/usr/lib/perl5/5.8.8/i686-linux
<br>
/usr/lib/perl5/5.8.8
<br>
/usr/local/lib/site_perl
<br>
.
<br>
</td>        </tr></tbody></table><span>
<br>
<br>
File listing:
<br>
</span><table width="90%" align="center" border="0" cellpadding="3" cellspacing="1"><tbody><tr>          <td><span><b>Code:</b></span></td>        </tr>        <tr>         <td>
<br>
-r--r--r-- 1 mythtv root 1871 Aug 31 04:16 /usr/lib/perl5/vendor_perl/5.8.8/IO/Socket/INET/MythTV.pm
<br>
-r--r--r-- 1 mythtv root 33151 Aug 31 04:16 /usr/lib/perl5/vendor_perl/5.8.8/MythTV.pm
<br>
-r--r--r-- 1 mythtv root 4372 Aug 31 04:16 /usr/lib/perl5/vendor_perl/5.8.8/MythTV/Channel.pm
<br>
-r--r--r-- 1 mythtv root 20494 Aug 31 04:16 /usr/lib/perl5/vendor_perl/5.8.8/MythTV/Program.pm
<br>
-r--r--r-- 1 mythtv root 23275 Aug 31 04:16 /usr/lib/perl5/vendor_perl/5.8.8/MythTV/Recording.pm
<br>
-r--r--r-- 1 mythtv root 2601 Aug 31 04:16 /usr/lib/perl5/vendor_perl/5.8.8/MythTV/StorageGroup.pm
<br>
-rw-r--r-- 1 root root 612 Aug 31 05:01 /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/MythTV/.packlist
<br>
</td>        </tr></tbody></table><span>
<br>
<br>
I changed the owner to 'mythtv' user, it was 'root'.
<br>
<br>I also noticed I still have a couple old perl libs in
/usr/lib/perl5/5.8.0 and <a href="http://5.8.2." target="_blank">5.8.2.</a> Including a dir in vendor_per/<a href="http://5.8.2." target="_blank">5.8.2.</a>
Should I delete these old perl versions? I've already run
'perl-clearner all', it didn't help.
<br>
<br>
Any clues? I can't figure this out for the life of me.
<br>
<br>
Thanks
<br>
<br>
EDIT: just upgraded to media-tv/mythtv-0.21_p18116 and dev-lang/perl-5.8.8-r5</span><br></div>
</blockquote></div><br>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 ;)<br>
<br>Hope this helps anyone else out there.<br><br></div>