Jan Nieuwenhuizen wrote on 25 March 2008 09:50: > Brian Dessent: > > > I rebuilt libguile with gcc 3.4.4-1 (without any PR24196 patches) and an > > autogen using it passes all tests. So it seems this is simply an ABI > > incompatibility between 4.1 and 3.4. > > Thanks. I'll start a test using gcc-4.0.4; with some luck that's new > enough for LilyPond and still binary compatible Cygwin. > > Jan.
The C ABI is meant to be the same between 3.x and 4.x, so since there's apparently no C++ involved, I don't think this is necessarily "simply an ABI incompatibility", I think it's a real regression. Jan, please just to clarify: did you build the actual release version of libguile with gcc4? I couldn't tell from the context whether you were only using it to try the --enable-fully-dynamic-string experiment. I don't recommend using gcc 4 series for production releases yet. There was a lot of instability after the change to tree-ssa infrastructure and both 4.0 and 4.1 series had a big bunch of regressions. (I think it's starting to get there with the 4.2 and 4.3 series and that's why I'm I would *strongly* recommend all maintainers stick with the official release of the compiler when building packages for the distro. It's the same version the DLL is built with; we should use it for the apps too. C is /supposed/ to be ABI-compatible, but as we've discovered, it's not always as simple as that. Using the exact same compiler for the DLL and the packages means we've got one less thing that can go wrong. Is there some specific problem in building lilypond that is resolved by using gcc 4? I *am* willing to do maintenance releases of the 3.4 compiler if there are important bugs to fix, doubly so if it's needed to support a package in the official distro. (I'm also working in the background on an experimental gcc 4 package). cheers, DaveK -- Can't think of a witty .sigline today....