Comment 0 for bug 1783252

Revision history for this message
bugproxy (bugproxy) wrote : greenlet 0.4.14 will not build on ppc64le

== Comment: #0 - William M. Edmonds <email address hidden> - 2018-07-23 16:21:41 ==
---Problem Description---
greenlet 0.4.14 will not build on ppc64le

Opened https://github.com/python-greenlet/greenlet/issues/136 because attempting to build bdist_wheel for greenlet 0.4.14 on ppc64le Ubuntu 16.04 LTS yields the following error:

running build
running build_ext
building 'greenlet' extension
creating build
creating build/temp.linux-ppc64le-2.7
powerpc64le-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c greenlet.c -o build/temp.linux-ppc64le-2.7/greenlet.o -fno-tree-dominator-opts
In file included from slp_platformselect.h:16:0,
                    from greenlet.c:343:
   platform/switch_ppc64_linux.h: In function 'slp_switch':
   platform/switch_ppc64_linux.h:80:5: error: PIC register clobbered by 'r30' in 'asm'
        __asm__ volatile ("" : : : REGS_TO_SAVE);
        ^
   platform/switch_ppc64_linux.h:95:5: error: PIC register clobbered by 'r30' in 'asm'
        __asm__ volatile ("" : : : REGS_TO_SAVE);
        ^
   error: command 'powerpc64le-linux-gnu-gcc' failed with exit status 1```

But the greenlet community is saying this is a gcc bug and it would not be safe to revert the greenlet change that exposed this issue. I have no idea whether that is true or not. Supposedly this should be fixed by https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=9213244550335bcb2b8590a0d7d58ac74c932361 but that fix is not present in the latest version of gcc (5.4.0) available for Ubuntu 16.04 LTS.

---uname output---
unavailable due to lab outage

Machine Type = unavailable due to lab outage

---Debugger---
A debugger is not configured

---Steps to Reproduce---
This should be reproducible with `git clone git://github.com/python-greenlet/greenlet; cd greenlet; python setup.py bdist_wheel`, though it was originally found using pypi rather than github and with a more complicated (scripted) command as detailed in the greenlet bug description.

Contact Information = Matthew Edmonds / <email address hidden>

Userspace tool common name: greenlet

The userspace tool has the following bit modes: no idea

Userspace rpm: N/A

Userspace tool obtained from project website: 0.4.14

*Additional Instructions for Matthew Edmonds / <email address hidden>:
-Attach ltrace and strace of userspace application.