[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#770413: libgcc1 dependency not strict enough in cross-compiler builds



Package: gcc-4.9
Version: 4.9.2-2
Severity: normal
Tags: patch

When building gcc as a cross-compiler the build-dep on libgcc1-dev comes
out as: >= ver. It really should be = ver, should it not, as there is
no guarantee of compatibility with any other version except the
exactly matching one?

In practice it may work with others for small enough deltas, but we
shouldn't rely on this and should just specify the correct dependency.
This was tested with the with_deps_.. build, but I think it applies to
the default build too, as the ubuntu 4.9.1-16ubuntu6cross0.4 build in
utopic has a Depends on libgcc-4.9-dev-armhf-cross (>=
4.9.1-16ubuntu6cross0.4) (rather than =).

The libstdc++(-dev) deps are correctly '=' though.

A patch to correct this is attached. It should probably also do the
same for libgcc1 as for libgcc1-dev, although this doesn't end up
directly in build-deps so it's less of an issue.

Wookey
Index: cross-gcc/debian/rules.conf
===================================================================
--- cross-gcc.orig/debian/rules.conf
+++ cross-gcc/debian/rules.conf
@@ -91,7 +91,7 @@ ifeq ($(with_shared_libgcc),yes)
   LIBGCC_DEP := libgcc$(GCC_SONAME)$(LS)$(AQ) (>= $(DEB_LIBGCC_VERSION))
   $(eval $(call gen_multilib_deps,gcc,,$(DEB_LIBGCC_VERSION)))
 endif
-LIBGCC_DEV_DEP := libgcc-$(BASE_VERSION)-dev$(LS)$(AQ) (>= $(DEB_VERSION))
+LIBGCC_DEV_DEP := libgcc-$(BASE_VERSION)-dev$(LS)$(AQ) (= $(DEB_VERSION))
 $(foreach x,stdc++ gomp ssp gfortran itm objc atomic asan lsan ubsan quadmath go vtv cilkrts, \
 	$(eval $(call gen_multilib_deps,$(x),,$$$${gcc:Version})))
 $(foreach x,gcc stdc++ gfortran objc go, \

Reply to: