Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Problems emerging MythTV and libdvb
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Orky
n00b
n00b


Joined: 27 Apr 2004
Posts: 18
Location: Reading, UK

PostPosted: Wed Nov 17, 2004 9:59 am    Post subject: Problems emerging MythTV and libdvb Reply with quote

I'm having some problems emerging MythTV. I'm using a 2.6.9 kernel with dvb support compiled in.

Emerging mythtv-0.16 crashes with

Code:
<snip>
In file included from dvbchannel.h:20,
                 from videosource.h:14,
                 from videosource.cpp:1:
dvbtypes.h:18:31: linux/dvb/version.h: No such file or directory
dvbtypes.h:20:2: #error "DVB driver includes with API version 3 not found!"
dvbtypes.h:23:32: linux/dvb/frontend.h: No such file or directory
dvbtypes.h:24:27: linux/dvb/dmx.h: No such file or directory
In file included from dvbchannel.h:20,
                 from videosource.h:14,
                 from videosource.cpp:1:
</snip>



I have media-tv/linuxtv-dvb-1.1.1 installing (I know its not needed with a 2.6 kernel), however if I try to emerge media-libs/libdvb-0.5.0-r1 I get errors such as:

Code:
<snip>
ci.cc:34:26: linux/dvb/ca.h: No such file or directory
ci.cc: In member function `bool cCiTransportLayer::ResetSlot(int)':
ci.cc:571: error: `CA_RESET' undeclared (first use this function)
ci.cc:571: error: (Each undeclared identifier is reported only once for each
   function it appears in.)
<snip>



Does anyone have any ideas? I'm not sure if these two problems are related.(I tried to install libdvb to solve the mythtv problem)

Thanks!
Back to top
View user's profile Send private message
SPY_jmr1
n00b
n00b


Joined: 02 Jan 2004
Posts: 62

PostPosted: Thu Nov 18, 2004 7:33 am    Post subject: Reply with quote

hrm...

i'm hacking on this too... saw some other people with similer problems, and i just hacked mine up, and it built libdvb for me error free... I have no idea if its functional, but here's what i did.

Code:
mkdir /usr/include/linux/dvb && cp /usr/src/linux/include/linux/dvb/* /usr/include/linux/dvb/


and that took... i'm running off of a 2.6.9-nitro3 ATM, if it makes any difference...

now, someone tell me what horrible things will happen to my box now, I mean, is this going to bring the seven horsemen, or anything? :D

EDIT:cross fingers, mythtv made it past its previous crash and burn, and is contiinuning on unopposed... :D

EDITEDIT: AGGG! spoke too soon... now its failing somewhere up in dvbchannel.cpp and dvbdiseqc.cpp... *investigates*

EDITEDITEDIT: https://forums.gentoo.org/viewtopic.php?t=224772 fix applied... billion and one warnings through the dvbs, but still going so far...
Back to top
View user's profile Send private message
parsim
Guru
Guru


Joined: 12 Aug 2004
Posts: 347
Location: Melbourne, Australia

PostPosted: Sun Dec 05, 2004 5:44 am    Post subject: Reply with quote

It seems like the ebuild is looking for ca.h in /usr/include/linux/dvb/ when it's actually in /usr/src/linux/include/linux/dvb/!

Same problem here: libdvb, a required package for mythtv, fails on a "missing" ca.h:
Code:
>>> Source unpacked.
make -C libdvb main
make -C libdvbci main
make[1]: Entering directory `/var/tmp/portage/libdvb-0.5.0-r1/work/libdvb-0.5.0/libdvb'
make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
g++ -I. -I../include -I../../include -I../../DVB.cvs/include -O2 -Wall -g -c devices.cc
make[1]: Entering directory `/var/tmp/portage/libdvb-0.5.0-r1/work/libdvb-0.5.0/libdvbci'
make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
g++ -I. -I../include -I../../include -I../../DVB.cvs/include -O2 -Wall -g -c ci.cc
ci.cc:34:26: linux/dvb/ca.h: No such file or directory
ci.cc: In member function `bool cCiTransportLayer::ResetSlot(int)':
ci.cc:571: error: `CA_RESET' undeclared (first use this function)
ci.cc:571: error: (Each undeclared identifier is reported only once for each
   function it appears in.)
ci.cc: In member function `bool cCiTransportLayer::ModuleReady(int)':
ci.cc:583: error: `ca_slot_info_t' undeclared (first use this function)
ci.cc:583: error: parse error before `;' token
ci.cc:584: error: `sinfo' undeclared (first use this function)
ci.cc:585: error: `CA_GET_SLOT_INFO' undeclared (first use this function)
ci.cc:586: error: `CA_CI_MODULE_READY' undeclared (first use this function)
ci.cc: In static member function `static cCiHandler*
   cCiHandler::CreateCiHandler(const char*)':
ci.cc:1405: error: `ca_caps_t' undeclared (first use this function)
ci.cc:1405: error: parse error before `;' token
ci.cc:1406: error: `CA_GET_CAP' undeclared (first use this function)
ci.cc:1406: error: `Caps' undeclared (first use this function)
ci.cc:1410: error: `CA_CI_LINK' undeclared (first use this function)
make[1]: *** [ci.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/libdvb-0.5.0-r1/work/libdvb-0.5.0/libdvbci'
make: *** [libdvbci/libdvbci.a] Error 2
make: *** Waiting for unfinished jobs....
devices.cc:2:32: linux/dvb/frontend.h: No such file or directory
devices.cc: In function `std::ostream& operator<<(std::ostream&, Transponder&)
   ':
devices.cc:120: error: `FE_QPSK' undeclared (first use this function)
devices.cc:120: error: (Each undeclared identifier is reported only once for
   each function it appears in.)
devices.cc:122: error: `FE_QAM' undeclared (first use this function)
devices.cc:130: error: `FE_OFDM' undeclared (first use this function)
devices.cc: In function `std::istream& operator>>(std::istream&, Transponder&)
   ':
devices.cc:283: error: `FEC_AUTO' undeclared (first use this function)
make[1]: *** [devices.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/libdvb-0.5.0-r1/work/libdvb-0.5.0/libdvb'
make: *** [libdvb/libdvb.a] Error 2

!!! ERROR: media-libs/libdvb-0.5.0-r1 failed.
!!! Function src_compile, Line 28, Exitcode 2
!!! compile problem
!!! If you need support, post the topmost build error, NOT this status message.

I tried SPY_jmr1's little trick of simply copying the files into the expected location, but the emerge then ran into several all-new errors.

How can I tell the build to look in the right place for these files??

Incidentally, earlier I had the same trouble that other people were reporting with emerging linuxtv-dvb on a 2.6 kernel, but it emerged fine after a simple:
Code:
echo media-tv/linuxtv-dvb  ~x86 >> /etc/portage/package.keywords

(The version that failed was 1.0.1. The ~x86 one that worked is 1.1.1-r1.)
Back to top
View user's profile Send private message
parsim
Guru
Guru


Joined: 12 Aug 2004
Posts: 347
Location: Melbourne, Australia

PostPosted: Wed Dec 08, 2004 3:04 am    Post subject: Reply with quote

I found this bug about the issue.

:(
Back to top
View user's profile Send private message
parsim
Guru
Guru


Joined: 12 Aug 2004
Posts: 347
Location: Melbourne, Australia

PostPosted: Wed Dec 08, 2004 5:23 am    Post subject: Reply with quote

Ahhhh, a solution!! On 2.6 kernel machines:
Code:
emerge -C linux-headers
emerge linux26-headers

This puts the necessary files into /usr/include/linux/dvb/. Then a simple:
Code:
emerge libdvb

and libdvb comes out sweet as you please!

Not only that, but mythtv-0.16 then happily compiles with the 'dvb' USE flag. :D

I'll report this on that bug.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum