This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: PPC64 Fedora socket and ssl compile failure
Type: compile error Stage: resolved
Components: Extension Modules Versions: Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, christian.heimes, martin.panter
Priority: normal Keywords: buildbot

Created on 2016-09-08 03:15 by martin.panter, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (4)
msg274957 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-09-08 03:15
First build that failed is <http://buildbot.python.org/all/builders/PPC64%20Fedora%203.x/builds/1510>. Sample of the error messages:

In file included from /usr/include/bluetooth/bluetooth.h:37:0,
                 from /home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Modules/socketmodule.h:58,
                 from /home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Modules/socketmodule.c:321:
/usr/include/bluetooth/bluetooth.h: In function ‘bt_get_le64’:
/usr/include/bluetooth/bluetooth.h:238:18: error: expected specifier-qualifier-list before ‘typeof’
  return bswap_64(bt_get_unaligned((const uint64_t *) ptr));
                  ^
/usr/include/bluetooth/bluetooth.h:238:18: error: called object is not a function or function pointer
  return bswap_64(bt_get_unaligned((const uint64_t *) ptr));
                  ^
/usr/include/bluetooth/bluetooth.h:238:18: error: ‘struct <anonymous>’ has no member named ‘__v’
  return bswap_64(bt_get_unaligned((const uint64_t *) ptr));
                  ^

Benjamin, the commits leading up to this include a lot of your C99 changes, so I added you, but I don’t have any definitive proof it’s your fault :)
msg274958 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2016-09-08 03:18
It's strange because it seems to imply the system headers are
syntatically invalid.
msg274963 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-09-08 04:07
Looks like enabling C99 is the trigger. This is an old bug with the bluetooth header (or at least a regression triggered by an old patch, I haven’t followed the whole story):
https://marc.info/?i=CAOcK=CPAHp-zBuWOPa3yB0ZcAmPWQgujzQcp+KtpJrX6tKDLag@mail.gmail.com
msg274994 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2016-09-08 09:45
#28017 and -std=gnu99 fixes the problem. The header files needs GNU extensions on big endian machines.
History
Date User Action Args
2022-04-11 14:58:36adminsetgithub: 72200
2016-09-08 09:45:13christian.heimessetstatus: open -> closed

nosy: + christian.heimes
messages: + msg274994

resolution: fixed
stage: resolved
2016-09-08 09:37:48martin.panterlinkissue28017 superseder
2016-09-08 04:07:02martin.pantersetmessages: + msg274963
2016-09-08 03:18:36benjamin.petersonsetmessages: + msg274958
2016-09-08 03:15:36martin.pantercreate