Game Development Community

HEAD fails to compile ogg+vorbis on linux

by James Urquhart · in Torque Game Engine · 09/27/2003 (5:41 am) · 1 replies

Tried compiling the HEAD today (Sat Sep 27th) :

Got these errors :

--> Compiling audio/audio.cc
In file included from ../lib/vorbis/include/ogg/ogg.h:24,
                 from ../lib/vorbis/include/vorbis/codec.h:26,
                 from audio/vorbisStream.h:26,
                 from audio/audioBuffer.h:19,
                 from audio/audioDataBlock.h:13,
                 from audio/audio.h:13,
                 from audio/audio.cc:6:
../lib/vorbis/include/ogg/os_types.h:80:32: ogg/config_types.h: No such file or
directory
In file included from ../lib/vorbis/include/vorbis/codec.h:26,
                 from audio/vorbisStream.h:26,
                 from audio/audioBuffer.h:19,
                 from audio/audioDataBlock.h:13,
                 from audio/audio.h:13,
                 from audio/audio.cc:6:
../lib/vorbis/include/ogg/ogg.h:55: syntax error before '*' token
../lib/vorbis/include/ogg/ogg.h:72: 'ogg_int64_t' is used as a type, but is not
   defined as a type.
<Repeated 3 more times on different lines>
../lib/vorbis/include/ogg/ogg.h:166: syntax error before '(' token
In file included from audio/vorbisStream.h:26,
                 from audio/audioBuffer.h:19,
                 from audio/audioDataBlock.h:13,
                 from audio/audio.h:13,
                 from audio/audio.cc:6:
../lib/vorbis/include/vorbis/codec.h:77: 'ogg_int64_t' is used as a type, but
   is not defined as a type.
<Repeated a few times on different lines>
In file included from audio/audioBuffer.h:19,
                 from audio/audioDataBlock.h:13,
                 from audio/audio.h:13,
                 from audio/audio.cc:6:
audio/vorbisStream.h:61: 'ogg_int64_t' is used as a type, but is not defined as
   a type.
audio/vorbisStream.h:62: 'ogg_int64_t' is used as a type, but is not defined as
   a type.
audio/vorbisStream.h:68: syntax error before '*' token
<Repeated 2 more times on different lines>
audio/vorbisStream.h:76: 'ogg_int64_t' is used as a type, but is not defined as
   a type.
audio/vorbisStream.h:115: parse error before ')' token
audio/vorbisStream.h:116: parse error before ')' token
audio/vorbisStream.h:120: 'ogg_int64_t' was not declared in this scope
audio/vorbisStream.h:120: parse error before ')' token
audio/vorbisStream.h:121: 'ogg_int64_t' was not declared in this scope
audio/vorbisStream.h:121: parse error before ')' token
<Repeated 2 more times on different lines>
audio/vorbisStream.h:151: type specifier omitted for parameter 'ogg_int64_t'
audio/vorbisStream.h:151: parse error before ',' token
<Inser some warnings here>
make[1]: *** [out.GCC2.DEBUG/audio/audio.obj] Error 1

I do not have the ogg or vorbis development libs installed, and it doesn't appear i need to anyway. So there must be a problem :)

Installing the dev libs gives me some warnings, but audio.cc compiles :

--> Compiling audio/audio.cc
audio/audio.cc: In function 'int loopingImageSort(const void*, const void*)':
audio/audio.cc:160: warning: return to 'int' from 'float'
audio/audio.cc:160: warning: argument to 'int' from 'float'
audio/audio.cc: In function 'int streamingSourceSort(const void*, const
   void*)':
audio/audio.cc:192: warning: return to 'int' from 'float'
audio/audio.cc:192: warning: argument to 'int' from 'float'
audio/audio.cc: In function 'AUDIOHANDLE alxCreateSource(const
   Audio::Description*, const char*, const MatrixF*, AudioSampleEnvironment*)':
audio/audio.cc:705: warning: assignment to non-pointer type 'ALuint' from NULL
audio/audio.cc:705: warning: argument to non-pointer type 'unsigned int' from
   NULL
audio/audio.cc: In function 'ALuint alxGetWaveLen(unsigned int)':
audio/audio.cc:2089: warning: return to 'ALuint' from 'F64'
audio/audio.cc:2089: warning: argument to 'unsigned int' from 'F64'

#1
09/27/2003 (8:16 pm)
I added config_types.h, hopefully that will prevent future compilation errors. Ideally you shouldn't need to have ogg/vorbis installed, the torque lib headers should be enough.