[CC ing to debian-gcc, maybe Martin or Phil could comment ...] Branden Robinson writes: > On Thu, May 29, 2003 at 10:59:01AM +0200, Matthias Klose wrote: > > Branden Robinson writes: > > > On Mon, May 26, 2003 at 10:22:41PM +0200, Matthias Klose wrote: > > > > Branden Robinson writes: > > > > > Questions for debian-{x,devel}: > > > > > > > > > > 1) Should libstdc++-dev dependencies be made "artificially" strict in > > > > > packages destined for sid so that it's harder for packages built > > > > > against, say, libstdc++3 to accidentally sneak in and start regressing > > > > > the C++ ABI transition progress? > > > > > > > > A dependency on the libstdc++-dev package is not (yet) needed, as > > > > every new major version of gcc comes with a new libstdc++XXX-dev > > > > package. Maybe it's better to depend on g++ (>= 3:3.3-1) or a specific > > > > g++ version if yoou need it. I'll file a report on build-essential to > > > > tighten this dependency. > > > > > > I have to admit I'm not completely clear on what you mean here. > > > > > > Why should a -dev package for a C++ library declare a versioned > > > dependency on the compiler? Why isn't it sufficient to declare a > > > dependency, even a specific one, on the standard C++ library? > > > > g++-3.2 has /usr/include/c++/3.2 in the include path, g++-3.3 > > /usr/include/c++/3.3. Declaring a dependency on libstdc++5-dev > > (gcc-3.2 based) and building with g++ (>= 3:3.3) doesn't use > > libstdc++5-dev, but libstdc++5-3.3-dev. > > Well, uh, so what? If G++ 3.2 and 3.3 have compatible ABIs, and the > standard C++ libraries are compatible at the source level, does the > above really matter?
I don'know, if the libraries are compatible at "source level", the combination of g++ and library (from the same gcc source) should be. > > > Or are you saying that depending on g++ (>= 3:3.3-1) is the best way to > > > prevent people from accidentally regressing the C++ ABI transition > > > progress? > > > > > > If so, shouldn't we make that Policy? > > > > As the g++ package, which makes 3.3 the default, entered testing > > today, I filed a report to build-essential to do this change, maybe > > this needs to be reflected in policy as well. > > For purposes of Policy I'm interesting in nailing down what it means for > a -dev package to depend on something, what those dependencies should > generally be, and why. The libstdc++-dev and g++ packages (built from one source) depend on each other. IIRC other distributions have a 'g++devel' packages or something like this and don't separate the two. AFAIK this won't change for gcc-3.4 (we'll probably have one more ABI change). So depending on one of the two packages seems to be enough. When depending on the -dev package, you have to make sure you use the correct compiler version to actually use the libstdc++-dev package. When depending on the g++/g++-X.Y package you cannot make this mistake (the corresponding libstdc++ version is choosen automatically). Matthias