[mythtv] mythvideo compile errors?

Colin Guthrie myth at colin.guthr.ie
Wed Aug 18 04:47:52 EDT 2004


Mike Benoit wrote:
> I'm trying to compile the latest CVS version of Myth Video for the last
> week or so and I get the following errors: (gcc 3.4.1)
> 
> videogallery.cpp: In member function `virtual void VideoGallery::
> fetchVideos()':
> videogallery.cpp:248: error: `ceilf' undeclared (first use this
> function)
> videogallery.cpp:248: error: (Each undeclared identifier is reported
> only once for each function it appears in.)
> videogallery.cpp: In member function `void VideoGallery::LoadIconWindow
> ()':
> videogallery.cpp:623: error: `floorf' undeclared (first use this
> function)
> videogallery.cpp: In member function `void VideoGallery::positionIcon
> ()':
> videogallery.cpp:785: error: `floorf' undeclared (first use this
> function)
> videogallery.cpp:790: error: `ceilf' undeclared (first use this
> function)
> videogallery.cpp: In member function `void VideoGallery::handleDirSelect
> ()':
> videogallery.cpp:808: error: `ceilf' undeclared (first use this
> function)
> make[1]: *** [videogallery.o] Error 1
> make[1]: Leaving directory `/root/tmp/mythvideo/mythvideo'
> make: *** [sub-mythvideo] Error 2
> 
> Any ideas how to fix this?

Hmm, I don't personally get this problem with the latest CVS.

Typeing "man ceilf" tells me that the functions are defined in math.h,
but having looked through all the mythvideo files and all the myth
headers in /usr/include/mythtv I see no reference to it.

Then I thought, these are pretty standard so I did a "grep -r math.h
/usr/include" and discovered that mythtv/ffmpeg/common.h includes it, as
does c++/3.3.2/cmath, not to mention libpng/pngconf.h, but I think the
key one was /usr/include/bits/mathdef.h

Typing the following command (Note the -M switch) gave the following
results that should help you. Note the inclusion of
/usr/include/bits/mathdef.h!

All the best

g++ -M -D_REENTRANT -fPIC  -D_GNU_SOURCE -DPREFIX=\"%{_prefix}\"
-DQT_THREAD_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG
-I/usr/lib/qt3/mkspecs/default -I. -I%{_prefix}/include
-I/usr/lib/qt3/include videogallery.cpp

videogallery.o: videogallery.cpp /usr/lib/qt3/include/qlayout.h \
   /usr/lib/qt3/include/qobject.h /usr/lib/qt3/include/qobjectdefs.h \
   /usr/lib/qt3/include/qglobal.h /usr/lib/qt3/include/qconfig.h \
   /usr/lib/qt3/include/qmodules.h /usr/lib/qt3/include/qfeatures.h \
   /usr/lib/qt3/include/qwindowdefs.h /usr/lib/qt3/include/qstring.h \
   /usr/lib/qt3/include/qcstring.h /usr/lib/qt3/include/qmemarray.h \
   /usr/lib/qt3/include/qgarray.h /usr/lib/qt3/include/qshared.h \
   /usr/lib/qt3/include/qwinexport.h /usr/include/string.h \
   /usr/include/features.h /usr/include/sys/cdefs.h \
   /usr/include/gnu/stubs.h \
   /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/include/stddef.h \
   /usr/include/xlocale.h \
   /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/include/limits.h \
   /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/include/syslimits.h \
   /usr/include/limits.h /usr/include/bits/posix1_lim.h \
   /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
   /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
   /usr/include/bits/stdio_lim.h /usr/include/c++/3.3.2/string \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/c++config.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/os_defines.h \
   /usr/include/c++/3.3.2/bits/stringfwd.h \
   /usr/include/c++/3.3.2/bits/char_traits.h \
   /usr/include/c++/3.3.2/cstring /usr/include/c++/3.3.2/cstddef \
   /usr/include/c++/3.3.2/bits/fpos.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/c++io.h \
   /usr/include/c++/3.3.2/cstdio /usr/include/stdio.h \
   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
   /usr/include/bits/typesizes.h /usr/include/libio.h \
   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
   /usr/include/gconv.h \
   /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/include/stdarg.h \
   /usr/include/bits/sys_errlist.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/gthr.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/gthr-default.h \
   /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
   /usr/include/bits/sched.h /usr/include/bits/time.h \
   /usr/include/signal.h /usr/include/bits/sigset.h \
   /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
   /usr/include/bits/sigthread.h /usr/include/unistd.h \
   /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
   /usr/include/bits/confname.h /usr/include/getopt.h \
   /usr/include/c++/3.3.2/cwchar /usr/include/c++/3.3.2/ctime \
   /usr/include/c++/3.3.2/memory \
   /usr/include/c++/3.3.2/bits/stl_algobase.h \
   /usr/include/c++/3.3.2/climits /usr/include/c++/3.3.2/cstdlib \
   /usr/include/stdlib.h /usr/include/bits/waitflags.h \
   /usr/include/bits/waitstatus.h /usr/include/endian.h \
   /usr/include/bits/endian.h /usr/include/sys/types.h \
   /usr/include/sys/select.h /usr/include/bits/select.h \
   /usr/include/sys/sysmacros.h /usr/include/alloca.h \
   /usr/include/c++/3.3.2/new /usr/include/c++/3.3.2/exception \
   /usr/include/c++/3.3.2/iosfwd \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/c++locale.h \
   /usr/include/c++/3.3.2/clocale /usr/include/locale.h \
   /usr/include/bits/locale.h /usr/include/langinfo.h \
   /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
   /usr/include/c++/3.3.2/cctype /usr/include/ctype.h \
   /usr/include/c++/3.3.2/bits/functexcept.h \
   /usr/include/c++/3.3.2/exception_defines.h \
   /usr/include/c++/3.3.2/bits/stl_pair.h \
   /usr/include/c++/3.3.2/bits/type_traits.h \
   /usr/include/c++/3.3.2/bits/stl_iterator_base_types.h \
   /usr/include/c++/3.3.2/bits/stl_iterator_base_funcs.h \
   /usr/include/c++/3.3.2/bits/concept_check.h \
   /usr/include/c++/3.3.2/bits/stl_iterator.h \
   /usr/include/c++/3.3.2/bits/stl_alloc.h \
   /usr/include/c++/3.3.2/bits/stl_threads.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/atomicity.h \
   /usr/include/c++/3.3.2/bits/stl_construct.h \
   /usr/include/c++/3.3.2/bits/stl_uninitialized.h \
   /usr/include/c++/3.3.2/bits/stl_raw_storage_iter.h \
   /usr/include/c++/3.3.2/bits/stl_function.h \
   /usr/include/c++/3.3.2/bits/basic_string.h \
   /usr/include/c++/3.3.2/algorithm /usr/include/c++/3.3.2/bits/stl_algo.h \
   /usr/include/c++/3.3.2/bits/stl_heap.h \
   /usr/include/c++/3.3.2/bits/stl_tempbuf.h \
   /usr/include/c++/3.3.2/bits/basic_string.tcc \
   /usr/lib/qt3/include/qnamespace.h /usr/lib/qt3/include/qevent.h \
   /usr/lib/qt3/include/qregion.h /usr/lib/qt3/include/qrect.h \
   /usr/lib/qt3/include/qsize.h /usr/lib/qt3/include/qpoint.h \
   /usr/lib/qt3/include/qmime.h /usr/lib/qt3/include/qmap.h \
   /usr/lib/qt3/include/qdatastream.h /usr/lib/qt3/include/qiodevice.h \
   /usr/lib/qt3/include/qpair.h /usr/lib/qt3/include/qvaluelist.h \
   /usr/lib/qt3/include/qtl.h /usr/lib/qt3/include/qtextstream.h \
   /usr/include/c++/3.3.2/iterator /usr/include/c++/3.3.2/ostream \
   /usr/include/c++/3.3.2/ios /usr/include/c++/3.3.2/bits/localefwd.h \
   /usr/include/c++/3.3.2/bits/ios_base.h \
   /usr/include/c++/3.3.2/bits/locale_classes.h \
   /usr/include/c++/3.3.2/streambuf \
   /usr/include/c++/3.3.2/bits/streambuf.tcc \
   /usr/include/c++/3.3.2/bits/basic_ios.h \
   /usr/include/c++/3.3.2/bits/streambuf_iterator.h \
   /usr/include/c++/3.3.2/bits/locale_facets.h \
   /usr/include/c++/3.3.2/cwctype /usr/include/wctype.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/ctype_base.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/ctype_inline.h \
   /usr/include/c++/3.3.2/bits/codecvt.h \

/usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/codecvt_specializations.h 

\
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/time_members.h \
   /usr/include/c++/3.3.2/i586-mandrake-linux-gnu/bits/messages_members.h \
   /usr/include/c++/3.3.2/bits/basic_ios.tcc \
   /usr/include/c++/3.3.2/bits/ostream.tcc /usr/include/c++/3.3.2/locale \
   /usr/include/c++/3.3.2/bits/locale_facets.tcc \
   /usr/include/c++/3.3.2/cerrno /usr/include/errno.h \
   /usr/include/bits/errno.h /usr/include/linux/errno.h \
   /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
   /usr/include/asm-generic/errno-base.h /usr/include/c++/3.3.2/cmath \
   /usr/include/math.h /usr/include/bits/huge_val.h \
   /usr/include/bits/nan.h /usr/include/bits/mathdef.h \
   /usr/include/bits/mathcalls.h /usr/include/c++/3.3.2/bits/cmath.tcc \
   /usr/include/c++/3.3.2/limits /usr/include/c++/3.3.2/typeinfo \
   /usr/include/c++/3.3.2/istream /usr/include/c++/3.3.2/bits/istream.tcc \
   /usr/include/c++/3.3.2/bits/stream_iterator.h \
   /usr/include/c++/3.3.2/list /usr/include/c++/3.3.2/bits/stl_list.h \
   /usr/include/c++/3.3.2/bits/list.tcc /usr/include/c++/3.3.2/map \
   /usr/include/c++/3.3.2/bits/stl_tree.h \
   /usr/include/c++/3.3.2/bits/stl_map.h \
   /usr/include/c++/3.3.2/bits/stl_multimap.h \
   /usr/lib/qt3/include/qsizepolicy.h /usr/lib/qt3/include/qwidget.h \
   /usr/lib/qt3/include/qpaintdevice.h /usr/lib/qt3/include/qpalette.h \
   /usr/lib/qt3/include/qcolor.h /usr/lib/qt3/include/qstringlist.h \
   /usr/lib/qt3/include/qstrlist.h /usr/lib/qt3/include/qptrlist.h \
   /usr/lib/qt3/include/qglist.h /usr/lib/qt3/include/qptrcollection.h \
   /usr/lib/qt3/include/qbrush.h /usr/lib/qt3/include/qfont.h \
   /usr/lib/qt3/include/qfontmetrics.h /usr/lib/qt3/include/qfontinfo.h \
   /usr/lib/qt3/include/qapplication.h \
   /usr/lib/qt3/include/qdesktopwidget.h /usr/lib/qt3/include/qasciidict.h \
   /usr/lib/qt3/include/qgdict.h /usr/lib/qt3/include/qtranslator.h \
   /usr/lib/qt3/include/qsqldatabase.h /usr/lib/qt3/include/qsqlquery.h \
   /usr/lib/qt3/include/qvariant.h /usr/lib/qt3/include/qsqlerror.h \
   /usr/lib/qt3/include/qsqlfield.h /usr/lib/qt3/include/qsql.h \
   /usr/lib/qt3/include/qpixmap.h metadata.h \
   /usr/lib/qt3/include/qregexp.h /usr/include/mythtv/mythcontext.h \
   /usr/lib/qt3/include/qdatetime.h /usr/lib/qt3/include/qmutex.h \
   /usr/lib/qt3/include/qsocketdevice.h \
   /usr/lib/qt3/include/qhostaddress.h /usr/lib/qt3/include/qnetwork.h \
   /usr/include/c++/3.3.2/iostream /usr/include/c++/3.3.2/vector \
   /usr/include/c++/3.3.2/bits/stl_vector.h \
   /usr/include/c++/3.3.2/bits/stl_bvector.h \
   /usr/include/c++/3.3.2/bits/vector.tcc /usr/lib/qt3/include/qimage.h \
   videogallery.h /usr/lib/qt3/include/qdialog.h \
   /usr/include/mythtv/mythwidgets.h /usr/lib/qt3/include/qbutton.h \
   /usr/lib/qt3/include/qkeysequence.h /usr/lib/qt3/include/qcombobox.h \
   /usr/lib/qt3/include/qspinbox.h /usr/lib/qt3/include/qrangecontrol.h \
   /usr/lib/qt3/include/qframe.h /usr/lib/qt3/include/qslider.h \
   /usr/lib/qt3/include/qlineedit.h /usr/lib/qt3/include/qtextedit.h \
   /usr/lib/qt3/include/qscrollview.h /usr/lib/qt3/include/qscrollbar.h \
   /usr/lib/qt3/include/qstylesheet.h /usr/lib/qt3/include/qptrvector.h \
   /usr/lib/qt3/include/qgvector.h /usr/lib/qt3/include/qdict.h \
   /usr/lib/qt3/include/qpushbutton.h /usr/lib/qt3/include/qiconset.h \
   /usr/lib/qt3/include/qtoolbutton.h /usr/lib/qt3/include/qlistview.h \
   /usr/lib/qt3/include/qheader.h /usr/lib/qt3/include/qtable.h \
   /usr/lib/qt3/include/qguardedptr.h /usr/lib/qt3/include/qintdict.h \
   /usr/lib/qt3/include/qbuttongroup.h /usr/lib/qt3/include/qgroupbox.h \
   /usr/lib/qt3/include/qlistbox.h /usr/lib/qt3/include/qcheckbox.h \
   /usr/lib/qt3/include/qlabel.h /usr/lib/qt3/include/qtimer.h \
   /usr/lib/qt3/include/qdom.h /usr/include/mythtv/uitypes.h \
   /usr/lib/qt3/include/qfile.h /usr/lib/qt3/include/qvaluevector.h \
   /usr/lib/qt3/include/qpainter.h /usr/lib/qt3/include/qpen.h \
   /usr/lib/qt3/include/qpointarray.h /usr/lib/qt3/include/qwmatrix.h \
   /usr/include/mythtv/util.h /usr/lib/qt3/include/qsocket.h \
   /usr/include/mythtv/mythdialogs.h /usr/lib/qt3/include/qprogressbar.h \
   /usr/include/mythtv/lcddevice.h /usr/include/mythtv/generictree.h \
   /usr/include/mythtv/xmlparse.h /usr/include/mythtv/uilistbtntype.h \
   videodlg.h videoselected.h


Also:
In /usr/include
grep -r math.h * -l

X11/fonts/codeconv/xttcommon.h
arts/gsl/gsldatautils.h
arts/gsl/gslfilter.h
arts/gsl/gslmath.h
arts/gsl/gslsignal.h
bits/huge_val.h
bits/mathcalls.h
bits/mathdef.h
bits/mathinline.h
bits/nan.h
c++/3.3.2/cmath
kjs/simple_number.h
libmng_types.h
libpng/pngconf.h
libpng12/pngconf.h
linux/cpufreq.h
math.h
mythtv/ffmpeg/common.h
ncurses/etip.h
pngconf.h
python2.3/pyfpe.h
python2.3/pyport.h
tcl8.4.5/generic/tclMath.h
tclx8.3/tcl/unix/tclXunixPort.h
tgmath.h
tk8.4.5/unix/tkUnixPort.h


Col.

-- 

+------------------------+
|     Colin Guthrie      |
+------------------------+
|  myth at colin.guthr.ie   |
| http://colin.guthr.ie/ |
+------------------------+


More information about the mythtv-dev mailing list