[PlanetCCRMA] LegaSynth (again)

Jason Balicki kodak@nothingimportant.net
Fri Apr 1 17:30:01 2005


I know this has been touched on before, but I'm asking in case
someone has solved this silently and didn't post about it
anywhere.

I've been trying for over a year to get LegaSynth to compile
(because I'd like to check out the SID engine) off and on
with various distros and platforms and such, but it appears
maintenance has stopped for it, and the tarball available
is corrupt (there are broken symlinks).

I've tried to repair the links and such, but I still can't
get it to compile.  I can at least get past configuring,
but then the compile keeps failing.  I try to fix the
issues with my limited programming understanding, but
once I fix one, another one pops up.  It's almost like
the author uploaded an old non-working version by mistake
and then forgot all about it.  I've seen the screenshot
on freshmeat, so I know he *must* have had it working
at some point.  Unless it was doctored. :)

Has anyone successfully compiled this program?  Anywhere?
If so, how?  I've emailed the developer several times
and have been met with silence.  If I wasn't such an old
commodore geek I wouldn't even bother.

I just went through the whole process again, so here's
what I've done:

the broken links in the tarball are trying to find
automake, so I made a link from /usr/share/automake-1.5
to /usr/share/automake

you have to run configure with --disable-gtkmmtest,
otherwise the configure will fail

make can't find depcomp, so I copied the one from
/usr/share/automake-1.5 to the legasynth root dir
and the freeverb subdir.

make complains about things like "expected ; before >"
and whatnot in chorus.h.  In that file there's a line
that says:

vector<Sint32> ringbuffer;

that doesn't look right to me (not a programmer, remember)
I've fiddeled with this bit trying to get past it, but
nothing seems to work.  I tried:

int vector;
int ringbuffer;

but make says:
error: request for member `resize' in `((Chorus*)this)-
>Chorus::ringbuffer', which is of non-class type `int'

so, obviously that's not it.

I also get "'string' does not name a type" from this block
in another file:

static inline string itostr(int m_val){

	char cacabuffer[100];
	sprintf(cacabuffer,"%i%,m_val);
	return cacabuffer;
}

First of all, cacabuffer?  Come on.

Anyway, I'm exhausted from trying to track all this
down.  If anyone would like to help me do this (and
I know this is very offtopic now, sorry) please contact
me.

Thanks a lot for your time,

--J(K)

PS:  to top it off, I've been downloading other software
to experiment with that's not included in PlanetCCRMA
and of all the things I've downloaded tonight, *none*
of them have compiled without issue.  Most haven't
compiled at all.  I don't know how Fernando does it,
he must be a very patient man.  I'm about to put a
brick through something.