Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile fails on ppc64le #71

Closed
bhepple opened this issue Feb 15, 2020 · 6 comments
Closed

Compile fails on ppc64le #71

bhepple opened this issue Feb 15, 2020 · 6 comments
Labels
invalid This doesn't seem right

Comments

@bhepple
Copy link
Contributor

bhepple commented Feb 15, 2020

Discovered while packaging for fedora/RPMfusion

eg

c++ -Iwf-recorder@exe -I. -I.. -I/usr/include/ffmpeg -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++11 -Wno-deprecated-declarations -O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -D_REENTRANT -pthread -MD -MQ 'wf-recorder@exe/src_frame-writer.cpp.o' -MF 'wf-recorder@exe/src_frame-writer.cpp.o.d' -o 'wf-recorder@exe/src_frame-writer.cpp.o' -c ../src/frame-writer.cpp
In file included from /usr/include/c++/9/chrono:38,
from /usr/include/c++/9/mutex:39,
from ../src/frame-writer.hpp:131,
from ../src/frame-writer.cpp:7:
/usr/include/c++/9/ratio:114:48: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
114 | || (__hi1 == __hi2 && __lo1 < __lo2))>
| ^
/usr/include/c++/9/ratio:339:75: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
339 | : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
| ^
/usr/include/c++/9/ratio:345:60: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
345 | : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
| ^
/usr/include/c++/9/ratio:354:46: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
354 | _Right::__hi, _Right::__lo>::value>
| ^
/usr/include/c++/9/ratio:369:50: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
369 | : integral_constant<bool, _R1::num < _R2::num>
| ^
/usr/include/c++/9/ratio:387:59: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
387 | : integral_constant<bool, !ratio_less<_R2, _R1>::value>
| ^
/usr/include/c++/9/ratio:393:58: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
393 | : integral_constant<bool, ratio_less<_R2, _R1>::value>
| ^
/usr/include/c++/9/ratio:399:59: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
399 | : integral_constant<bool, !ratio_less<_R1, _R2>::value>
| ^

More info at:

https://bugzilla.rpmfusion.org/show_bug.cgi?id=5527#c13
http://koji.rpmfusion.org/kojifiles/work/tasks/6478/386478/build.log

@ammen99
Copy link
Owner

ammen99 commented Feb 15, 2020

I cannot imagine what we could have done wrong, though it could be a problem in the header file ordering. Can you try compiling with http://ix.io/2bLM ?

@leigh123linux
Copy link

@ammen99 The patch doesn't help

https://leigh123linux.fedorapeople.org/pub/txt/wf-recorder_error.txt

It fails to compile on f30 and f31 ppc64le using gcc-9.2.1

It compiles ok on ppc64le using gcc-10

https://koji.rpmfusion.org/koji/taskinfo?taskID=386108

@ammen99
Copy link
Owner

ammen99 commented Feb 15, 2020

I believe this is a compiler/library bug, considering that the project compiles on multiple CPU architectures.

The error messages also indicate problems converting from int to bool, which should work without problems.

@ammen99
Copy link
Owner

ammen99 commented Feb 15, 2020

To confirm my suspicion, would it be possible to try compiling with clang?

@leigh123linux
Copy link

@ammen99 It builds ok using clang

https://koji.rpmfusion.org/koji/taskinfo?taskID=386648

It's a shame we're not allowed to override the gcc default in fedora.

@ammen99
Copy link
Owner

ammen99 commented Feb 16, 2020

Well if you manage to work around this, I would be willing to merge the fix, but I have no idea whether this is possible at all.

Could you not disable the package for a specific architecture?

@ammen99 ammen99 added the invalid This doesn't seem right label Jun 14, 2022
@ammen99 ammen99 closed this as completed Jun 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

3 participants