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

Re: Buildd AutoDepWait for perl and linux-2.6



I've subscribed to the list. No need to CC me. Thanks.

On Wed, 19 Dec 2007 12:10:08 -0600
Stephen R Marenka <stephen@marenka.net> wrote:

> On Wed, Dec 19, 2007 at 12:43:59AM -0200, Thadeu Lima de Souza
> Cascardo wrote:
> > Hello, Folks.
> > 
> > I've found a kind of a circular dependency when checking for
> > versions of perl and linux-2.6 packages.
> > 
> > linux-2.6 won't build because it build-depends on dpkg-dev, which
> > depends on perl5 and perl-modules. perl5 is provided by perl, which
> > is version 5.8.8-7. 5.8.8-8 and onwards won't build because they
> > build-depends on gcc-4.2.
> 
> Actually, we also need a sourceful upload of gcc-defaults [gcc (>=
> 4:4.2)] (see bug #451190). gcc-4.2_4.2.2-3 built fine and is already
> in the archive.
> 

Yes. gcc-defaults builds fine. However, if you check the source
(debian/rules), you will see that m68k gets 4.1 versions. Since it's
less than 30 lines, I will copy it:

ifeq ($(DEB_HOST_ARCH),m68k)
    no_packages += gnat
    CV_CPP              := 4.1.2-$(REL_NO_412)
    CV_GCC              := 4.1.2-$(REL_NO_412)
    CV_GPP              := 4.1.2-$(REL_NO_412)
    CV_GOBJC            := 4.1.2-$(REL_NO_412)
    CV_GOBJCXX          := 4.1.2-$(REL_NO_412)
    CV_GCJ              := 4.2.1-$(REL_NO_412)
    CV_GIJ              := 4.2.1-$(REL_NO_412)
    CV_GCJ_HACKED       := 4.1.2-$(REL_NO_412)
    CV_GIJ_HACKED       := 4.1.2-$(REL_NO_412)
    CV_LIBGCJBC         := 4.2.1-$(REL_NO_412)
    CV_LIBGCJCOMMON     := 1:4.2-20070303-$(REL_NO_412)
    REQV_CPP    = $(REQV_41)
    REQV_GCC    = $(REQV_41)
    REQV_GPP    = $(REQV_41)
    REQV_GOBJC  = $(REQV_41)
    REQV_GOBJCXX        = $(REQV_41)
    REQV_LIBGCJ_BC      := (>= 4.1.2-3)
    REQV_GCJ    = $(REQV_41)
    REQV_GIJ    = $(REQV_41)
    LIBGCJ              = libgcj7-1
    LIBGCJ_PC   = libgcj7.pc
    LIBGCJ_SONAME       = 71
endif

So, I guess only some GCJ stuff is 4.2. By the changelog, you can see
m68k is the only bad child  :-(:

gcc-defaults (1.60) unstable; urgency=low

  * Make GCC-4.2 the default for C, C++, ObjC, ObjC++, GFortran for
    all architectures except m68k.

 -- Matthias Klose <doko@debian.org>  Sat, 01 Sep 2007 11:56:19 +0200

I don't know about gcc-4.2.2-3, but 4.2.2-4 did not build in my machine
(a cross compiler) and did not build in the buildd either
(http://buildd.debian.org/fetch.cgi?pkg=gcc-4.2;ver=4.2.2-4;arch=m68k;stamp=1196273914).
And that's for the same reason. I've checked linux-libc-dev and did not
find the cachectl.h header. So, I've decided to check in my git version
of Linux. And I could find by a log message that since 2.6.24-rc1, we
have a fix. Before I've sent a message to the list, I went to the
history and found this message:
http://lists.debian.org/debian-68k/2007/10/msg00035.html

So, it seems Geert (or Matthew Wilcox, not sure) has fixed it and it
was a reply to a message you have sent.

> > Well, gcc-4.2 won't build because it requires a patch which is only
> > on 2.6.24-rc1 vanilla, so we shouldn't expect it in debian unless
> > the patch is applied for 2.6.23, right?
> 
> Is that true? Could I get a reference for that? Otherwise I can
> requeue the build. 
> 

See above.

> > Well, that would be fine if linux-2.6 was not depwaiting for perl >=
> > 5.8.8-8. It is because dpkg-dev depends on perl-modules, which is
> > arch: all. So, its version in the repository is 5.8.8-12, which
> > depends on perl >= 5.8.8-8.
> 
> I don't believe we usually autobuild linux-2.6. I believe Christian 
> usually uploads them directly once he's satisfied with the m68k
> patches.
> 

As I said, and as you can see by the message by Geert referenced above,
this is a very simple fix in Linux build system and only linux-libc-dev
would change, including the missing cachectl.h. Perhaps, it would be
worth to upload a new source including only this change since the last
upload?

> > I think this problema happened here because gcc 4.2 got stuck. But
> 
> I missed gcc-4.2 getting stuck. Usually I try to keep up with blockers
> and the toolchain.
> 
> > having a arch: all package going into the repository without its
> > dependencies in there may give us trouble every time we get stuck
> > with some package that would depend on it, right? Should we bring
> > this concern to debian-devel?
> 
> Old news. I wish there was some better scheme.
> 
> > If not, what can we do in respect to linux-2.6, gcc-4.2 and perl? I
> > know there are lots of more trouble in toolchain, be it regressions
> > in the compiler, threads or anything else.
> > 
> > However, these packages would, at least, build (I expect so) if a
> > very simple patch in the build system of linux-2.6 would be applied
> > and perl-modules 5.8.8-12 were replaced by perl-modules 5.8.8-7 in
> > the archive. Then, we should have linux-2.6 built, gcc-4.2 built
> > and perl 5.8.8-12 built, in that order.
> 
> Point me at the patch, I'll patch one of the buildds.
> 
> Thanks,
> 
> Stephen
> 

Next time, I will give the references in the message. Sorry.

Thanks for you work,
Thadeu Cascardo.


Reply to: