View Single Post
Old 2008-02-28, 21:35
Posts: n/a
Default Onscripter linux compilation issues

Using onscripter-en-20080214, Gentoo AMD64.

First off, when compiling with gcc-4.2.2, it gives this error:
cc1plus: warnings being treated as errors
DirectReader.cpp: In member function ‘virtual char* DirectReader::getArchiveName() const’:
DirectReader.cpp:258: warning: deprecated conversion from string constant to ‘char*’
make: *** [DirectReader.o] Error 1
I worked around this by removing "-Werror" from OSCFLAGS in the makefile.

Next I get this error:
ONScripterLabel_sound.o: In function `ONScripterLabel::closeOggVorbis(OVInfo*)':
ONScripterLabel_sound.cpp:(.text+0xae): undefined reference to `ov_clear'
ONScripterLabel_sound.o: In function `ONScripterLabel::openOggVorbis(unsigned char*, long, int&, int&)':
ONScripterLabel_sound.cpp:(.text+0x1aa): undefined reference to `ov_open_callbacks'
ONScripterLabel_sound.cpp:(.text+0x1bf): undefined reference to `ov_info'
ONScripterLabel_sound.cpp:(.text+0x246): undefined reference to `ov_pcm_total'
ONScripterLabel_sound.cpp:(.text+0x285): undefined reference to `ov_clear'
ONScripterLabel_sound.o: In function `decodeOggVorbis(OVInfo*, unsigned char*, long, bool)':
ONScripterLabel_sound.cpp:(.text+0xc01): undefined reference to `ov_read'
I worked around this by adding "-lvorbisfile" to the makefile under "LIBS =".I already see mention of this :
LIBS = -Lextlib/lib \
       -lSDL_image $(if $(findstring true,false),-ljpeg -lpng -lz) \
       -lSDL_mixer $(if $(findstring true,false),-lvorbisfile -lvorbis -logg) \
But for whatever reason it doesn't work until I add it seperately.I have sdl-mixer installed, BTW.
After working around these errors the code compiles fine.

One more issue is to do with case sensitivity.Does the code just expect lower case all the time or does it depend on what the case of the file references in the "arc.nsa" are?.Also can I disable this behaviour? Tsukihime seemed to work fine with the files being any case with the older 2006 insani version but I had to rename everything to lower case for it to work with this version.

Reply With Quote