Hi Michael! Sorry for the delay.

El lunes, 23 de abril de 2018 06:27:34 -03 Michael Cree escribió:
> Source: qtbase-opensource-src
> Version: 5.10.1+dfsg-5
> Severity: important
> Justification: fails to build from source (but built in past)
> User: debian-al...@lists.debian.org
> Usertags: ftbfs
> Tags: patch
> 
> qtbase-opensource-src FTBFS on Alpha [1] due to an ambiguous
> resolution of the overloaded call to atime() with definitions of
> atime() at lines 246, 254 and 299 in
> src/corelib/io/qfilesystemengine_unix.cpp. The one at line 299
> is declared as:
> 
> Q_DECL_UNUSED static typename std::enable_if<(&T::st_atimensec, true)
> ...
> 
> which I guess (I don't know C++ very well) means that if the field
> st_atimensec is present then include that declaration of atime().  On
> Alpha Linux this field is present in the struct stat declaration in
> the header file (sys/stat.h) inside a union declaration, which looks
> to be a unique definition of struct stat amongst the Linicies.  So
> this definition of atime() at line 299 applies on Alpha Linux and
> conflicts with one of the earlier definitions at lines 246 and 254.
> 
> I don't know if this is a bug in the header file (i.e. glibc) or
> present for historical reasons (Alpha Linux being the first 64-bit
> Linux does have some idiosyncrasies not repeated in later 64-bit
> Linicies), nevertheless I attach a patch that disables the second
> confounding definition of atime() at line 299 on Alpha only.  With
> the patch qtbase-opensource-src builds to completion on Alpha.

Thanks for the very clear explanation! There are two possible ways out here:

1) Preferred by us Qt maintainers: file a bug in bugreports.qt.io and send us 
the link so we can follow it. Notice that I'm asking you to do it because you 
are the alpha porter, so you will be the right one to reply to possible 
upstream's questions. Of course as soon as you send us the bug link I'll 
subscribe to it to follow it and try to help if possible.

I can also push this simple patch to upstream's gerrit once the bug is filed 
(had it be more involved I would need to ask you to do it because of 
copyright, but in this case it's pretty straightforward).

Why is this preferable? Because upstream tends to know if the solution is 
right or if it should be fixed in, let's say, glibc. They also know the code 
quirks much better than us and will probably notice if this affects something 
else.

2) We ship a Debian delta for this. Doable, but definitely not the best thing.

So, pick one ;-) (pun intended :-P)

Cheers, Lisandro.

-- 
Trabaja como si no necesitaras el dinero.
Ama como si nunca hubieses sido herido.
Baila como si nadie estuviera mirando.
Canta como si nadie escuchara.
Vive como si fuera el Cielo en la Tierra.
  Anónimo

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to