Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 696884 - =dev-python/m2crypto-0.31.0-r2: fails to compile on ppc: /usr/include/gnu/stubs.h:11: Error: Unable to find 'gnu/stubs-64-v1.h'
Summary: =dev-python/m2crypto-0.31.0-r2: fails to compile on ppc: /usr/include/gnu/stu...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-07 12:05 UTC by Agostino Sarubbo
Modified: 2020-02-26 23:28 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2019-10-07 12:05:36 UTC
On ppc m2crypto fails with:

running build_ext
building 'M2Crypto._m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -D__powerpc64__ -I/usr/include/python2.7 -I/usr/include -I/usr/include/openssl -I/usr/lib/gcc/powerpc-unknown-linux-gnu/8.3.0/include -I/usr/lib/gcc/powerpc-unknown-linux-gnu/8.3.0/include-fixed -I/usr/include -includeall -modern -builtin -outdir /var/tmp/portage/dev-python/m2crypto-0.31.0-r2/work/M2Crypto-0.31.0/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/gnu/stubs.h:11: Error: Unable to find 'gnu/stubs-64-v1.h'
error: command 'swig' failed with exit status 1
Comment 1 Mike Gilbert gentoo-dev 2019-10-07 16:56:56 UTC
Please provide the content of /usr/include/gnu/stubs.h.

Please also provide emerge --info.
Comment 2 Mike Gilbert gentoo-dev 2019-10-07 17:02:05 UTC
If you are running this in a ppc32 chroot on ppc64 hardware, please make sure you set the correct arch using the setarch(8) command.
Comment 3 Ben Kohler gentoo-dev 2019-10-10 14:24:52 UTC
Release autobuilds are failing with this, and I can confirm that setarch ppc32 seems to help.  Not sure how we can integrate that in our catalyst-auto setup, though.
Comment 4 Mike Gilbert gentoo-dev 2019-10-10 16:20:47 UTC
The m2crypto build system has relied on platform.machine() (uname -m) for quite a long time. If you want that changed, please send a patch upstream.

It is possible you didn't run into this because a patch to support ppc64le was added recently. This may be causing the conditional logic to be evaluated differently.

https://gitlab.com/m2crypto/m2crypto/commit/0bb9693a53eae94761498e8412684cd6ed339781
Comment 5 Matt Turner gentoo-dev 2019-10-19 07:49:30 UTC
(In reply to Ben Kohler from comment #3)
> Release autobuilds are failing with this, and I can confirm that setarch
> ppc32 seems to help.  Not sure how we can integrate that in our
> catalyst-auto setup, though.

From the catalyst code, it looks like it's already running 'setarch linux32 chroot ...'
Comment 6 Matt Turner gentoo-dev 2019-10-19 17:30:27 UTC
I can't reproduce this failure in my 32-bit chroot on timberdoodle (64-bit system). I can confirm that uname -m prints "ppc64" without setarch linux32.

Any ideas how I can reproduce this?
Comment 7 Matt Turner gentoo-dev 2019-10-19 21:38:26 UTC
(In reply to Matt Turner from comment #5)
> (In reply to Ben Kohler from comment #3)
> > Release autobuilds are failing with this, and I can confirm that setarch
> > ppc32 seems to help.  Not sure how we can integrate that in our
> > catalyst-auto setup, though.
> 
> From the catalyst code, it looks like it's already running 'setarch linux32
> chroot ...'

Doesn't look like it's working though:

ppc32_installcd-stage1.log:    chroot /var/tmp/catalyst/tmp/default/livecd-stage1-ppc-20191019T102306Z /tmp/livecd-stage1-chroot.sh
ppc32_stage1.log:    chroot /var/tmp/catalyst/tmp/default/stage1-ppc-20191019T102306Z /tmp/stage1-chroot.sh
ppc32_stage1.log:    chroot /var/tmp/catalyst/tmp/default/stage1-ppc-20191019T102306Z /tmp/stage1-preclean-chroot.sh
ppc32_stage3.log:    chroot /var/tmp/catalyst/tmp/default/stage3-ppc-20191019T102306Z /tmp/stage3-chroot.sh
ppc32_stage3.log:    chroot /var/tmp/catalyst/tmp/default/stage3-ppc-20191019T102306Z /tmp/stage3-preclean-chroot.sh
ppc64_stage1.log:    chroot /var/tmp/catalyst/tmp/default/stage1-ppc64-20191019T102306Z /tmp/stage1-chroot.sh
ppc64_stage1.log:    chroot /var/tmp/catalyst/tmp/default/stage1-ppc64-20191019T102306Z /tmp/stage1-preclean-chroot.sh
ppc64_stage3.log:    chroot /var/tmp/catalyst/tmp/default/stage3-ppc64-20191019T102306Z /tmp/stage3-chroot.sh
ppc64_stage3.log:    chroot /var/tmp/catalyst/tmp/default/stage3-ppc64-20191019T102306Z /tmp/stage3-preclean-chroot.sh
Comment 8 Matt Turner gentoo-dev 2019-10-20 00:37:17 UTC
Okay, I've fixed catalyst to properly run setarch linux32, so unCcing release@.
Comment 9 ernsteiswuerfel archtester 2020-02-26 22:57:17 UTC
Same for dev-python/m2crypto-0.35.2 (ppc32 userland on a Talos II).
Comment 10 Mike Gilbert gentoo-dev 2020-02-26 23:28:27 UTC
Please run setarch if you are running a 32-bit userland on a 64-bit kernel.