[mythtv-users] Mythtv compilation problems on FC4
Malcolm Hill
mjhill at netspace.net.au
Mon Jan 30 13:02:39 UTC 2006
Hi all,
I've been using Mythtv 0.18.2 happily on FC4 for months now - although I
hastily set it up after upgrading to FC4, and I never got around to
getting my remote to work properly. After a hectic holiday period, I
decided to sit down and sort out the remote...
Anyway - lirc is no problem - I just need to re-compile mythtv with lirc
support enabled. I realised that my previous compile didn't include
lirc support because at the time I hadn't installed the appropriate lirc
libraries for myth to build against...
So - now the configure script finds lirc fine - but I'm having real
issues compiling mythtv. The same source that built fine a few months
ago... In that time yum has updated my kernel a few times, and I'm sure
its upgraded gcc.
My current kernel is 2.6.14-1.1656_FC4, and the gcc rpm installed is
gcc-4.0.2-8.fc4.
I have found 2 problems so far...
The 1st is found when trying to compile mythmedia.cpp...
g++ -c -pipe -march=pentium4 -Wall -W -O3 -Wall -Wno-switch
-fomit-frame-pointer -D_REENTRANT -DPIC -fPIC -DMMX -Di386 -DUSING_IVTV
-DUSING_DVB -DUSING_XRANDR -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-DPREFIX=\"/usr/local\" -DUSING_OSS -DUSE_ALSA -DUSE_JOYSTICK_MENU
-DUSE_LIRC -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED
-I/usr/lib/qt-3.3/mkspecs/default -I. -I../../../../include
-I../../../../../src/kernels/2.6.14-1.1656_FC4-i686/include
-I../libmythsamplerate -I../libmythsoundtouch -I../..
-I/usr/lib/qt-3.3/include -o mythmedia.o mythmedia.cpp
In file included
from ../../../../../src/kernels/2.6.14-1.1656_FC4-i686/include/asm/param.h:1,
from ../../../../../src/kernels/2.6.14-1.1656_FC4-i686/include/linux/param.h:4,
from /usr/include/sys/param.h:24,
from mythmedia.cpp:14:
../../../../../src/kernels/2.6.14-1.1656_FC4-i686/include/linux/config.h:6:2: error: #error including kernel header in userspace; use the glibc headers instead!
make[2]: *** [mythmedia.o] Error 1
make[2]: Leaving directory `/usr/local/src/mythtv/libs/libmyth'
make[1]: *** [sub-libmyth] Error 2
make[1]: Leaving directory `/usr/local/src/mythtv/libs'
make: *** [sub-libs] Error 2
mythmedia.cpp includes sys/param.h which in turn includes linux/param.h.
I have a dvb card, and I've used the
--dvb-path=/usr/src/kernels/2.6.14-1.1656_FC4-i686/include option on the
configure script - which is why there's a
-I../../../../../src/kernels/2.6.14-1.1656_FC4-i686/include option on g
++, but g++ is finding linux/param.h here instead of /usr/include which
is where I think it should get them from so as to get the glibc headers
and not the kernel headers. Have I understood this right? Maybe this
was always happening and gcc 4.0.2-8 is now more anal about "kernel
headers in userspace?"
I could download the dvb code from linuxtv.org and install them
somewhere else - but a 'make install' of these would just overwrite the
supplied kernel dvb headers anyway.
As a test, I did download the linuxtv.org dvb code (which seems to have
been combined with v4l these days), and compiled them - but didn't
install them. I pointed the configure script to the location in the
build tree, and it made it well past this point.
Any suggestions? I'd rather use the supplied kernel dvb headers.
Which brings me to my 2nd problem...
The 'make' continued until it reached channeleditor.cpp.
make[2]: Entering directory `/usr/local/src/mythtv/libs/libmythtv'
g++ -c -pipe -march=pentium4 -Wall -W -O3 -Wall -Wno-switch
-fomit-frame-pointer `freetype-config --cflags` -D_REENTRANT -DPIC -fPIC
-DMMX -Di386 -DUSING_IVTV -DUSING_DVB -DUSING_XRANDR -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DUSING_XV -DQT_NO_DEBUG
-DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/lib/qt-3.3/mkspecs/default -I.
-I../../../../include -I../../../v4l-dvb/linux/include -I../..
-I../libmyth -I.. -Idvbdev -Impeg -I../libavcodec -I../libmythmpeg2
-I/usr/lib/qt-3.3/include -o channeleditor.o channeleditor.cpp
/usr/lib/qt-3.3/include/qsqldatabase.h:63: warning: ‘class
QSqlDriverCreatorBase’ has virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:224: warning: ‘class QXmlReader’ has
virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:407: warning: ‘class QXmlContentHandler’
has virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:424: warning: ‘class QXmlErrorHandler’
has virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:433: warning: ‘class QXmlDTDHandler’ has
virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:441: warning: ‘class QXmlEntityResolver’
has virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:448: warning: ‘class QXmlLexicalHandler’
has virtual functions but non-virtual destructor
/usr/lib/qt-3.3/include/qxml.h:461: warning: ‘class QXmlDeclHandler’ has
virtual functions but non-virtual destructor
scanwizard.h:111: error: expected `)' before ‘*’ token
scanwizard.h:117: error: ISO C++ forbids declaration of ‘ScanWizard’
with no type
scanwizard.h:117: error: expected ‘;’ before ‘*’ token
make[2]: *** [channeleditor.o] Error 1
make[2]: Leaving directory `/usr/local/src/mythtv/libs/libmythtv'
make[1]: *** [sub-libmythtv] Error 2
make[1]: Leaving directory `/usr/local/src/mythtv/libs'
make: *** [sub-libs] Error 2
This now seems to be g++ complaining about syntax errors.
Help?
Thanks,
Malcolm
p.s. sorry about the massive post.
More information about the mythtv-users
mailing list