Bug 1423200 - 0ad: FTBFS in rawhide
Summary: 0ad: FTBFS in rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: 0ad
Version: 26
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Paulo Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F26FTBFS
TreeView+ depends on / blocked
 
Reported: 2017-02-17 03:08 UTC by Fedora Release Engineering
Modified: 2018-05-17 09:44 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-20 21:41:57 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (627.51 KB, text/plain)
2017-02-17 03:08 UTC, Fedora Release Engineering
no flags Details
root.log (125.08 KB, text/plain)
2017-02-17 03:08 UTC, Fedora Release Engineering
no flags Details
state.log (607 bytes, text/plain)
2017-02-17 03:09 UTC, Fedora Release Engineering
no flags Details

Description Fedora Release Engineering 2017-02-17 03:08:42 UTC
Your package 0ad failed to build from source in current rawhide.

https://koji.fedoraproject.org/koji/taskinfo?taskID=17709990

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

Comment 1 Fedora Release Engineering 2017-02-17 03:08:51 UTC
Created attachment 1251366 [details]
build.log

Comment 2 Fedora Release Engineering 2017-02-17 03:08:56 UTC
Created attachment 1251367 [details]
root.log

Comment 3 Fedora Release Engineering 2017-02-17 03:09:00 UTC
Created attachment 1251368 [details]
state.log

Comment 4 Jonathan Wakely 2017-02-17 10:57:18 UTC
../../../source/gui/CDropDown.cpp: In member function 'virtual InReaction CDropDown::ManuallyHandleEvent(const SDL_Event_*)':
../../../source/gui/CDropDown.cpp:348:94: error: call of overloaded 'abs(unsigned int)' is ambiguous
       diff = abs(pList->m_Items[i].GetOriginalString().LowerCase()[j] - (int)m_InputBuffer[j]);
                                                                                              ^

This is documented at https://gcc.gnu.org/gcc-7/porting_to.html#cmath

Comment 5 Fedora End Of Life 2017-02-28 11:21:56 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 6 Zbigniew Jędrzejewski-Szmek 2017-07-15 16:55:41 UTC
A right, this only happens on arm, where 'char' is 'unsigned char', while most other architectures have 'char' which is 'signed char'. The code is subtracting (unsigned char) - (int), which is promoted to unsigned int, and abs((unsigned int)) is undefined.

So the fix would be:

-       diff = abs(pList->m_Items[i].GetOriginalString().LowerCase()[j] - (int)m_InputBuffer[j]);
+       diff = abs((int) pList->m_Items[i].GetOriginalString().LowerCase()[j] - (int)m_InputBuffer[j]);

Should be easy enough.

Comment 7 Jonathan Wakely 2017-07-17 10:06:14 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #6)
> A right, this only happens on arm, where 'char' is 'unsigned char', while
> most other architectures have 'char' which is 'signed char'. The code is

Strictly speaking char is signed or unsigned, but is not signed char or unsigned char. It's always a distinct type.

> subtracting (unsigned char) - (int), which is promoted to unsigned int, and
> abs((unsigned int)) is undefined.
> 
> So the fix would be:
> 
> -       diff = abs(pList->m_Items[i].GetOriginalString().LowerCase()[j] -
> (int)m_InputBuffer[j]);
> +       diff = abs((int)
> pList->m_Items[i].GetOriginalString().LowerCase()[j] -
> (int)m_InputBuffer[j]);
> 
> Should be easy enough.

Looks good to me.

Comment 8 Jonathan Wakely 2017-07-17 17:31:49 UTC
I need to rebuild this for Boost 1.64 anyway, so I'll make that change.

Comment 9 Jonathan Wakely 2017-07-20 21:41:57 UTC
Fixed https://koji.fedoraproject.org/koji/buildinfo?buildID=919640


Note You need to log in before you can comment on or make changes to this bug.