Page 1 of 1

compile error new cvs theora code

Posted: 30.07.2006, 06:55
by cartrite
I tried to compile the new cvs code (07/30/2006) with gcc 4.0.1 and gcc 3.3.4 and get the following errors.

Code: Select all

In file included from kdeapp.cpp:84:
videocapturedlg.h:4:37: videocapturedlgbase.uic.h: No such file or directory
In file included from videocapturedlg.h:5,
                 from kdeapp.cpp:84:
../../celestia/oggtheoracapture.h:5:27: theora/theora.h: No such file or directory
In file included from videocapturedlg.h:5,
                 from kdeapp.cpp:84:
../../celestia/oggtheoracapture.h:53: error: 'yuv_buffer' is used as a type,
   but is not defined as a type.
../../celestia/oggtheoracapture.h:55: error: 'ogg_stream_state' is used as a
   type, but is not defined as a type.
../../celestia/oggtheoracapture.h:57: error: 'ogg_page' is used as a type, but
   is not defined as a type.
../../celestia/oggtheoracapture.h:58: error: 'ogg_packet' is used as a type,
   but is not defined as a type.
../../celestia/oggtheoracapture.h:60: error: 'theora_state' is used as a type,
   but is not defined as a type.
../../celestia/oggtheoracapture.h:61: error: 'theora_info' is used as a type,
   but is not defined as a type.
../../celestia/oggtheoracapture.h:62: error: 'theora_comment' is used as a
   type, but is not defined as a type.
In file included from kdeapp.cpp:84:
videocapturedlg.h:12: error: syntax error before `,' token
videocapturedlg.h:14: error: virtual outside class declaration
videocapturedlg.h:14: error: non-member function `const char* className()'
   cannot have `const' method qualifier
videocapturedlg.h:14: error: virtual outside class declaration
videocapturedlg.h:14: error: virtual outside class declaration
videocapturedlg.h:14: error: virtual outside class declaration
videocapturedlg.h:14: error: virtual outside class declaration
videocapturedlg.h: In function `QObject* qObject()':
videocapturedlg.h:14: error: invalid use of `this' in non-member function
videocapturedlg.h: At global scope:
videocapturedlg.h:14: error: syntax error before `private'
videocapturedlg.h:18: error: destructors must be member functions
videocapturedlg.h:18: error: virtual outside class declaration
videocapturedlg.h:19: error: non-member function `QString getDir()' cannot have
   `const' method qualifier
videocapturedlg.h:22: error: syntax error before `public'
videocapturedlg.h:29: error: syntax error before `private'
videocapturedlg.h:40: error: non-member function `int getWidth()' cannot have `
   const' method qualifier
videocapturedlg.h:41: error: non-member function `int getHeight()' cannot have
   `const' method qualifier
videocapturedlg.h:48: error: syntax error before `}' token
kdeapp.cpp: In member function `void KdeApp::initActions()':
kdeapp.cpp:402: warning: `key' is deprecated (declared at
   /opt/kde3/include/kstdaccel.h:452)
kdeapp.cpp:405: warning: `key' is deprecated (declared at
   /opt/kde3/include/kstdaccel.h:452)
kdeapp.cpp:539: warning: unused variable `KToggleAction*showCloudShadows'
kdeapp.cpp:603: warning: unused variable `KToggleAction*showCometLabels'
kdeapp.cpp: In member function `void KdeApp::slotGoTo()':
kdeapp.cpp:1402: warning: `__comp_ctor' is deprecated (declared at
   /opt/kde3/include/klineeditdlg.h:58)
kdeapp.cpp: In member function `virtual void
   KdeWatcher::notifyChange(CelestiaCore*, int)':
kdeapp.cpp:255: warning: unused parameter `CelestiaCore*core'

kcelbookmarkowner.h: In member function `virtual Url
   KCelBookmarkOwner::currentUrl(Url::UrlType) const':
kcelbookmarkowner.h:28: warning: unused parameter `Url::UrlType type'
kdeapp.cpp: At top level:
videocapturedlg.h:14: warning: `bool qt_static_property(QObject*, int, int,
   QVariant*)' declared `static' but never defined
videocapturedlg.h:14: warning: `QMetaObject* staticMetaObject()' declared
   `static' but never defined
videocapturedlg.h:14: warning: `QString tr(const char*, const char*)' declared
   `static' but never defined
videocapturedlg.h:14: warning: `QString trUtf8(const char*, const char*)'
   declared `static' but never defined
make[5]: *** [kdeapp.o] Error 1
make[5]: Leaving directory `/home/cartrite/bin/07302006/work/celestia/src/celestia/kde'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/cartrite/bin/07302006/work/celestia/src/celestia/kde'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/cartrite/bin/07302006/work/celestia/src/celestia'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/cartrite/bin/07302006/work/celestia/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/cartrite/bin/07302006/work/celestia'
make: *** [all] Error 2
Is there some dep I need to add to my environment now with this video capture code :?:
cartrite

Posted: 30.07.2006, 08:04
by Christophe
Yes, apparently you're missing libtheora. The libtheora header shouldn't be included in this case, but there was an ifdef missing. That's fixed now.

Once you've installed the libtheora dev package, rerun configure and check it's output (near the end) for:

Code: Select all

checking for THEORA... yes

Posted: 30.07.2006, 08:41
by cartrite
I didn't have a libtheora devel pkg on Suse 10 but did on Suse 9.2 and after installing that I still got errors. Something about invalid conversions. So I built theora libs from the latest source 1.0alpha7 and now Celestia compiles on 9.2. I also built the theora libs on Suse 10 and that works too.

The libtheora devel pkg on Suse 9.2 was version 1.0alpha3-7.1. That did not work.

I did have libtheora versions 1.0alpha4-5 x86_64 and libtheora-32bit 1.0alpha4-5 x86_64 installed on Suse 10 but didn't have the headers or the .pc file for pkg-config. So I'm not sure if those verions work.

cartrite