Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
synfig-studio compile issue
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Drone1
Apprentice
Apprentice


Joined: 27 Sep 2005
Posts: 232
Location: United States of Texas

PostPosted: Wed Oct 29, 2008 10:58 pm    Post subject: synfig-studio compile issue Reply with quote

For those not versed w/ synfig, take a quick look here at synfig to get an idea of what it requires to install it.

Now that you're versed, ETL and synfig emerged fine, with the use flags it recommended. The problem I'm running into is with the fmod use flag for synfig-studio. Portage has an OLD version of fmod available that I installed, but synfig-studio failed with that. So thinking it was fmod, I decided to update it. I created an overlay and set up the latest available fmod release on their website, for 64bit linux. The new fmod release installed fine with no errors. After that, tried to emerge synfig-studio again, but it errored out at the same place. OK, not an fmod issue. So I dug through the code, and found a few problems, and tried a few things, but ended up getting no where.
I resorted to old methodology by running "./configure --with-libfmod" in an untarred directory for the synfig-studio tarball which completed with no errors, with config summary stating fmod is enabled.
Next I ran make, which produced the following.
Code:

if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src   -I/usr/include/synfig-0.0 -I/usr/include/libxml++-2.6 -I/usr/lib64/libxml++-2.6/include -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -pthread -I/usr/include/gtkmm-2.4 -I/usr/lib64/gtkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib64/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/gtk-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0   -DIMAGE_DIR=\"/usr/local/share/pixmaps/synfigstudio\" -DIMAGE_EXT=\"png\" "-DLOCALEDIR=\"/usr/local/share/locale\"" -DNDEBUG -O2 -W -Wall -MT synfigstudio-audiocontainer.o -MD -MP -MF ".deps/synfigstudio-audiocontainer.Tpo" -c -o synfigstudio-audiocontainer.o `test -f 'audiocontainer.cpp' || echo './'`audiocontainer.cpp; \
        then mv -f ".deps/synfigstudio-audiocontainer.Tpo" ".deps/synfigstudio-audiocontainer.Po"; else rm -f ".deps/synfigstudio-audiocontainer.Tpo"; exit 1; fi
audiocontainer.cpp: In function 'bool build_profile(FSOUND_SAMPLE*, double&, std::vector<char, std::allocator<char> >&)':
audiocontainer.cpp:104: error: 'FSOUND_Sample_GetMode' was not declared in this scope
audiocontainer.cpp:110: error: 'FSOUND_Sample_GetDefaults' was not declared in this scope
audiocontainer.cpp:116: error: 'FSOUND_16BITS' was not declared in this scope
audiocontainer.cpp:117: error: 'FSOUND_STEREO' was not declared in this scope
audiocontainer.cpp:121: error: 'FSOUND_Sample_GetLength' was not declared in this scope
audiocontainer.cpp:126: error: 'FSOUND_GetError' was not declared in this scope
audiocontainer.cpp:142: warning: dereferencing type-punned pointer will break strict-aliasing rules
audiocontainer.cpp:142: warning: dereferencing type-punned pointer will break strict-aliasing rules
audiocontainer.cpp:142: error: 'FSOUND_Sample_Lock' was not declared in this scope
audiocontainer.cpp:144: error: 'FSOUND_GetError' was not declared in this scope
audiocontainer.cpp:226: error: 'FSOUND_Sample_Unlock' was not declared in this scope
audiocontainer.cpp: In member function 'void scrubinfo::scrub_dsp_process()':
audiocontainer.cpp:340: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp:374: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:384: error: 'FSOUND_GetCurrentPosition' was not declared in this scope
audiocontainer.cpp:387: error: 'FSOUND_GetPaused' was not declared in this scope
audiocontainer.cpp:389: error: 'FSOUND_GetFrequency' was not declared in this scope
audiocontainer.cpp:427: error: 'FSOUND_DSP_GetBufferLength' was not declared in this scope
audiocontainer.cpp:430: error: 'FSOUND_GetOutputRate' was not declared in this scope
audiocontainer.cpp:440: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:444: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:445: error: 'FSOUND_SetFrequency' was not declared in this scope
audiocontainer.cpp: At global scope:
audiocontainer.cpp:485: error: expected initializer before '*' token
audiocontainer.cpp:487: warning: unused parameter 'originalbuffer'
audiocontainer.cpp:487: warning: unused parameter 'length'
audiocontainer.cpp: In member function 'void FMODInitializer::addref()':
audiocontainer.cpp:552: error: 'FSOUND_OUTPUT_OSS' was not declared in this scope
audiocontainer.cpp:552: error: 'FSOUND_SetOutput' was not declared in this scope
audiocontainer.cpp:571: error: 'FSOUND_Init' was not declared in this scope
audiocontainer.cpp:579: error: 'scrubdspunit' was not declared in this scope
audiocontainer.cpp:579: error: 'FSOUND_DSP_Create' was not declared in this scope
audiocontainer.cpp:582: error: 'FSOUND_DSP_GetBufferLength' was not declared in this scope
audiocontainer.cpp:582: error: 'FSOUND_GetOutputRate' was not declared in this scope
audiocontainer.cpp: In member function 'void FMODInitializer::flush()':
audiocontainer.cpp:622: error: 'scrubdspunit' was not declared in this scope
audiocontainer.cpp:622: error: 'FSOUND_DSP_Free' was not declared in this scope
audiocontainer.cpp:623: error: 'FSOUND_Close' was not declared in this scope
audiocontainer.cpp: In member function 'bool studio::AudioContainer::AudioImp::init_play()':
audiocontainer.cpp:712: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp:717: error: 'FSOUND_FREE' was not declared in this scope
audiocontainer.cpp:717: error: 'FSOUND_PlaySoundEx' was not declared in this scope
audiocontainer.cpp:718: error: 'FSOUND_GetError' was not declared in this scope
audiocontainer.cpp:718: error: 'FMOD_ERR_NONE' was not declared in this scope
audiocontainer.cpp:726: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:727: error: 'FSOUND_SetFrequency' was not declared in this scope
audiocontainer.cpp: In constructor 'studio::AudioContainer::AudioImp::AudioImp()':
audiocontainer.cpp:750: error: 'FSOUND_FREE' was not declared in this scope
audiocontainer.cpp: In member function 'bool studio::AudioContainer::AudioImp::start_playing_now()':
audiocontainer.cpp:767: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp: In member function 'bool studio::AudioContainer::AudioImp::isRunning()':
audiocontainer.cpp:777: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp: In member function 'bool studio::AudioContainer::AudioImp::isPaused()':
audiocontainer.cpp:786: error: 'FSOUND_GetPaused' was not declared in this scope
audiocontainer.cpp: In member function 'bool studio::AudioContainer::AudioImp::get_current_time(double&)':
audiocontainer.cpp:812: error: 'FSOUND_GetCurrentPosition' was not declared in this scope
audiocontainer.cpp: In member function 'bool studio::AudioContainer::AudioImp::load(const std::string&, const std::string&)':
audiocontainer.cpp:1047: error: 'FSOUND_FREE' was not declared in this scope
audiocontainer.cpp:1048: error: 'FSOUND_LOOP_OFF' was not declared in this scope
audiocontainer.cpp:1048: error: 'FSOUND_MPEGACCURATE' was not declared in this scope
audiocontainer.cpp:1048: error: 'FSOUND_Sample_Load' was not declared in this scope
audiocontainer.cpp:1066: error: 'FSOUND_Sample_GetLength' was not declared in this scope
audiocontainer.cpp:1069: error: 'FSOUND_Sample_GetDefaults' was not declared in this scope
audiocontainer.cpp:1088: error: 'FSOUND_Sample_Free' was not declared in this scope
audiocontainer.cpp: In member function 'void studio::AudioContainer::AudioImp::play(double)':
audiocontainer.cpp:1125: error: 'FSOUND_SetFrequency' was not declared in this scope
audiocontainer.cpp:1126: error: 'FSOUND_SetCurrentPosition' was not declared in this scope
audiocontainer.cpp:1132: error: 'FSOUND_Sample_GetLength' was not declared in this scope
audiocontainer.cpp:1139: error: 'FSOUND_SetFrequency' was not declared in this scope
audiocontainer.cpp:1140: error: 'FSOUND_SetCurrentPosition' was not declared in this scope
audiocontainer.cpp:1141: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp: In member function 'void studio::AudioContainer::AudioImp::stop()':
audiocontainer.cpp:1155: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp: In member function 'void studio::AudioContainer::AudioImp::clear()':
audiocontainer.cpp:1172: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp:1174: error: 'FSOUND_StopSound' was not declared in this scope
audiocontainer.cpp:1176: error: 'FSOUND_FREE' was not declared in this scope
audiocontainer.cpp:1177: error: 'FSOUND_Sample_Free' was not declared in this scope
audiocontainer.cpp: In member function 'void studio::AudioContainer::AudioImp::start_scrubbing(double)':
audiocontainer.cpp:1228: error: 'FSOUND_SetCurrentPosition' was not declared in this scope
audiocontainer.cpp:1242: error: 'scrubdspunit' was not declared in this scope
audiocontainer.cpp:1242: error: 'FSOUND_DSP_SetActive' was not declared in this scope
audiocontainer.cpp: In member function 'void studio::AudioContainer::AudioImp::stop_scrubbing()':
audiocontainer.cpp:1259: error: 'scrubdspunit' was not declared in this scope
audiocontainer.cpp:1259: error: 'FSOUND_DSP_SetActive' was not declared in this scope
audiocontainer.cpp:1260: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp:1260: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp: In member function 'void studio::AudioContainer::AudioImp::scrub(double)':
audiocontainer.cpp:1296: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp:1298: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:1344: error: 'FSOUND_SetCurrentPosition' was not declared in this scope
audiocontainer.cpp:1356: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:1366: error: 'FSOUND_IsPlaying' was not declared in this scope
audiocontainer.cpp:1368: error: 'FSOUND_SetPaused' was not declared in this scope
audiocontainer.cpp:1411: error: 'FSOUND_SetCurrentPosition' was not declared in this scope
audiocontainer.cpp:1423: error: 'FSOUND_SetPaused' was not declared in this scope
make[3]: *** [synfigstudio-audiocontainer.o] Error 1
make[3]: Leaving directory `/root/software/test/synfig-studio-0.61.09/src/gtkmm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/software/test/synfig-studio-0.61.09/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/software/test/synfig-studio-0.61.09'
make: *** [all] Error 2


The offending file 'audiocontainer.cpp' has a syntax issue in here, but for whatever reason, the #ifdef WITH_FMOD is not being referenced properly. Here is said code from audiocontainer.cpp
Code:

#ifdef WITH_FMOD
bool build_profile(FSOUND_SAMPLE *sample, double &samplerate, std::vector<char> &samples)
#else
bool build_profile(FSOUND_SAMPLE */*sample*/, double &/*samplerate*/, std::vector<char> &/*samples*/)
#endif
{
#ifdef WITH_FMOD

        float sps = samplerate;

        //trivial rejection...
        if(!sample || sps < 1)
        {
                synfig::warning("build_profile: Sample rate was too low or sample was invalid");
                return false;
        }

        //lock for all samples and process them into a subset
        unsigned int mode = FSOUND_Sample_GetMode(sample);
       
        //make sure that it's 8 bit... I hope this works...
 
       //sample rate of the actual song...
        int allsamplerate = 0;
        FSOUND_Sample_GetDefaults(sample,&allsamplerate,0,0,0);

        //get the size of the sample defaults from the mode
        int channels = 1;
        int channelsize = 1; //number of bytes

        if(mode & FSOUND_16BITS) channelsize = 2; //this shouldn't happen
        if(mode & FSOUND_STEREO) channels = 2;

        //Get the sample information
        int samplesize = channels*channelsize; //the only two things that increase samplesize
        int numsamples = FSOUND_Sample_GetLength(sample); //number of samples in the sound
        int sizeall = samplesize*numsamples; //should be the size of the entire song...

        if(sizeall <= 0)
        {
                synfig::warning("ProfileAudio: Sample buffer cannot be size smaller than 1 (%X)",FSOUND_GetError());
                return false;
        }

        //be sure that the new sample rate is less than or equal to the original
        if(sps > allsamplerate) sps = allsamplerate;

        float stride = allsamplerate/(float)sps;

        //down sampling to 8 bit min/max values
        synfig::warning("About to downsample from %d Hz to %.1f Hz, sample stride: %f", allsamplerate, sps, stride);

        char *sampledata=0,*useless = 0;
        unsigned int len1,len2;


As you can see, the 1st build_profile (WITH_FMOD) should be used since we are using fmod, but in fact the 2nd build_profile (#else) is being used. Below that, WITH_FMOD is referenced again, and thats when the errors with FSOUND begin above.

If someone could take a few minutes and try and install synfig-studio, or at least try and manually compile it to see if this is something specific to my system, or an actual synfig-studio distribution issue. I'm trying to register on the synfig forum, however I have yet to receive and an activation email. I'm willing to go the distance on this, but need a little direction, and assistance. I'll continue to pester the synfig forum for an account as well.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum