[mythtv] Compiling for DirectFB/Qt-Embedded

Simeon Walker simeon at sbs.bangor.ac.uk
Mon Jan 5 06:02:19 EST 2004


Hello,

Since I just can't get X working properly on my G400 DH I thought I 
would have a go at compiling mythtv to sue the DirectFB output. I am 
using mythtv from CVS as of 10am 5/1/2004, DirectFB 0.9.20 and  
qt-embedded-free-3.3.0b1.

I built qt-embedded as mentioned here:
http://mythtv.org/pipermail/mythtv-dev/2003-December/017130.html

I have read the previous emails on this topic. First, I have found that 
I have to add:
DEFINES += QWS
to my settings.pro to prevent some X11 related stuff from being included.

Then I found that all my generated Makefiles refer to -lqt-mt whereas 
building qt-embedded produced libqte-mt. My QTDIR and PATH are set for 
the qt-embedded build directory and only that version of qmake can be 
used. A symbolic link helps me get a bit further...

Finally my build fails at this point:

make[1]: Entering directory `/usr/local/src/mythtv/programs'
cd mythepg && qmake mythepg.pro -o Makefile
cd mythepg && make -f Makefile
make[2]: Entering directory `/usr/local/src/mythtv/programs/mythepg'
g++ -c -pipe `directfb-config --cflags` -Wall -W -O3 -march=pentiumpro 
-fomit-frame-pointer -D_REENTRANT  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
-DPREFIX=\"/usr/local\" -DMMX -DQWS -DQT_NO_DEBUG -DQT_THREAD_SUPPORT 
-I/usr/local/src/qt-embedded-free-3.3.0b1/mkspecs/linux-g++ -I. 
-I../../libs -I../../libs/libmyth -I../../../../include 
-I/usr/local/src/qt-embedded-free-3.3.0b1/include -o main.o main.cpp
g++ -Wl,-rpath,/usr/local/src/qt-embedded-free-3.3.0b1/lib -o mythepg 
main.o   -L/usr/local/src/qt-embedded-free-3.3.0b1/lib -L/usr/X11R6/lib 
-L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavcodec 
-L../../libs/libavformat -lmythtv-0.14 -lmythavformat-0.14 
-lmythavcodec-0.14 -lmyth-0.14 `directfb-config --libs` -lqt-mt -lXext 
-lX11 -lm -lpthread
main.o(.gnu.linkonce.r._ZTI6QGList+0x8): undefined reference to 
`typeinfo for QPtrCollection'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QPushButton'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_compression_ratio'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QLibrary'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `typeinfo 
for QGArray'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QComboBox'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QFrame'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QCheckBox'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `lame_init'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QSpinBox'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QWidget'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_decode_init'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QThread'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QListView'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QListBox'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `lame_decode'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `typeinfo 
for QListViewItem'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_decode_only'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_in_samplerate'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QSlider'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_num_channels'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `typeinfo 
for QGDict'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_init_params'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_mode'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QButtonGroup'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QTextEdit'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QTable'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_bWriteVbrTag'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_encode_flush_nogap'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QLineEdit'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_set_quality'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_encode_buffer_interleaved'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `typeinfo 
for QObject'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `typeinfo 
for QEvent'
../../libs/libmyth/libmyth-0.14.so: undefined reference to `typeinfo for 
QDialog'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to 
`lame_encode_buffer'
../../libs/libmythtv/libmythtv-0.14.so: undefined reference to `lame_close'
collect2: ld returned 1 exit status
make[2]: *** [mythepg] Error 1
make[2]: Leaving directory `/usr/local/src/mythtv/programs/mythepg'
make[1]: *** [sub-mythepg] Error 2
make[1]: Leaving directory `/usr/local/src/mythtv/programs'
make: *** [sub-programs] Error 2

I have tried this on the original 'TV' box, my destop machine at home, 
and finally my machine at work (which get me to the failures quicker!) 
They all run Gentoo with kernels from 2.4.22 to 2.6.1-rc1.

Can anyone see what I'm doing wrong? Is any other version of qt-embedded 
better?

Regards,
Simeon Walker

-- 
Simeon Walker,                      email: simeon at sbs.bangor.ac.uk
School of Biological Sciences,      phone: +44 (0)1248 383702
University of Wales, Bangor,        fax: +44 (0)1248 382569
Gwynedd, LL57 2UW, UK.              www: http://biology.bangor.ac.uk/



More information about the mythtv-dev mailing list