Bug#568620: help on porting to s390

Jonathan Nieder jrnieder at gmail.com
Tue Feb 16 08:37:49 UTC 2010


Dear Christophe,

I think that as a developer you should already have access to
portboxen:

http://release.debian.org/squeeze/arch_qualify.html

But IIUC that would not be needed except to verify a fix to this bug.

| sbuild (Debian sbuild) 0.59.1 (24 Jan 2010) on lxdebian.bfinv.de
[...]
| life/lifecore/application.cpp:436: error: ambiguous overload for 'operator<<'
| life/lifecore/debug.hpp:134: note: candidates are:

Life tries to use << to print something, and it is not obvious to the
compiler which function is meant.

Looking at application.cpp, it seems the value to be printed is of
type std::string::size_type.  Looking at debug.hpp, it seems that
operator<< accepts an int32_t uint32_t, int64_t, or uint64_t, but does
not mention string::size_type by name in its list of signatures.

Chasing definitions from /usr/include/c++/<whatever>/string, it seems
that string::size_type is size_t.  So one problem is that although
size_t may have the same range of values and representation as one of
the four types listed above, it is not necessarily the same type, so
the compiler can complain.

> I have been attempting  to understand the build failure [1] and [2]
> for the package life [3]. This failure occurs only for s390.

Patience. ;-)  It is true that x86 builds did not catch this, but
most other platforms so far did.

Hope that helps,
Jonathan





More information about the debian-science-maintainers mailing list