I've just been investigating the problem with SuSE 8.2 again. To recap, the RG4-0..8.5 package distributed with SuSE 8.2 has a problem in which playback jumps in one-second steps instead of proceeding smoothly. It turns out that any RG4 source distribution built using the default configure options has the same problem.
I discovered that building without optimisation "fixed" the problem, but I wasn't sure whether that meant there was a bug in the compiler or whether we were doing something unreliable. Anyway, I've checked it out now and I'm 96% sure it's an overzealous compiler optimisation in the floating-point conversion between musical time and real time. SuSE 8.2 shipped with a prerelease version of gcc-3.3, so it's fairly likely there are bugs like this. I haven't found a workaround yet -- I've tried splitting the calculation into several parts, but that only works if I pause to print out the intermediate results (which obviously slows things down far more than not optimising). So the upshot is: if you're using SuSE 8.2, configure with CXXFLAGS='-O0' ./configure ... This is already in the FAQ, I'm just posting to say I'm fairly sure it'd be quite tricky for us to work around it in the code. Unless gcc has a pragma to prevent optimisation in a local area -- anyone know? Of course this doesn't inspire confidence in the correctness of other floating-point-intensive software in SuSE's distribution. Chris ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The best thread debugger on the planet. Designed with thread debugging features you've never dreamed of, try TotalView 6 free at www.etnus.com. _______________________________________________ Rosegarden-devel mailing list [EMAIL PROTECTED] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
