Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 626102

Summary: dev-lang/python-3.5.2 Prefix python3 fails for sharedmods in stage3
Product: Gentoo Linux Reporter: krisztian99
Component: Current packagesAssignee: Gentoo Prefix <prefix>
Status: RESOLVED FIXED    
Severity: normal CC: hendrik, jstein, python
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: stage3.log.gz

Description krisztian99 2017-07-24 22:19:54 UTC
Created attachment 486784 [details]
stage3.log.gz

I'm trying to create a gentoo prefix on my Elementary 0.4 64bit pc, but it always fails at stage3 when it compiles python3. I was told on the irc that I should submit a bug report of this. There is a snippet of the log file:

*** WARNING: renaming "_crypt" since importing it failed: build/lib.linux-x86_64-3.5/_crypt.cpython-35-x86_64-linux-gnu.so: undefined symbol: crypt
*** WARNING: renaming "nis" since importing it failed: build/lib.linux-x86_64-3.5/nis.cpython-35-x86_64-linux-gnu.so: undefined symbol: yp_master

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_dbm                  _gdbm                 _sqlite3           
_tkinter                                                       
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Following modules built successfully but were removed because they could not be imported:
_crypt                nis                                      

running build_scripts
creating build/scripts-3.5
copying and adjusting /home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/Python-3.5.2/Tools/scripts/pydoc3 -> build/scripts-3.5
copying and adjusting /home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/Python-3.5.2/Tools/scripts/idle3 -> build/scripts-3.5
copying and adjusting /home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/Python-3.5.2/Tools/scripts/2to3 -> build/scripts-3.5
copying and adjusting /home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/Python-3.5.2/Tools/scripts/pyvenv -> build/scripts-3.5
changing mode of build/scripts-3.5/pydoc3 from 644 to 755
changing mode of build/scripts-3.5/idle3 from 644 to 755
changing mode of build/scripts-3.5/2to3 from 644 to 755
changing mode of build/scripts-3.5/pyvenv from 644 to 755
renaming build/scripts-3.5/pydoc3 to build/scripts-3.5/pydoc3.5
renaming build/scripts-3.5/idle3 to build/scripts-3.5/idle3.5
renaming build/scripts-3.5/2to3 to build/scripts-3.5/2to3-3.5
renaming build/scripts-3.5/pyvenv to build/scripts-3.5/pyvenv-3.5
make: *** [Makefile:617: sharedmods] Error 1
 * ERROR: dev-lang/python-3.5.2::gentoo_prefix failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/python-3.5.2::gentoo_prefix'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/python-3.5.2::gentoo_prefix'`.
 * The complete build log is located at '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/temp/build.log'.
 * The ebuild environment file is located at '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/temp/environment'.
 * Working directory: '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/x86_64-pc-linux-gnu'
 * S: '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/Python-3.5.2'

>>> Failed to emerge dev-lang/python-3.5.2, Log file:

>>>  '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/temp/build.log'

 * Messages for package dev-lang/python-3.5.2:

 * ERROR: dev-lang/python-3.5.2::gentoo_prefix failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/python-3.5.2::gentoo_prefix'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/python-3.5.2::gentoo_prefix'`.
 * The complete build log is located at '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/temp/build.log'.
 * The ebuild environment file is located at '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/temp/environment'.
 * Working directory: '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/x86_64-pc-linux-gnu'
 * S: '/home/krisz/gentoo/var/tmp/portage/dev-lang/python-3.5.2/work/Python-3.5.2'
Comment 1 Hendrik v. Raven 2017-12-11 15:39:16 UTC
I am seeing the same bug with python 3.5.4 while trying to bootstrap a prefix system on amd64. Base system is Ubuntu LTS (16.04).
Comment 2 krisztian99 2017-12-11 19:01:51 UTC
(In reply to Hendrik v. Raven from comment #1)
> I am seeing the same bug with python 3.5.4 while trying to bootstrap a
> prefix system on amd64. Base system is Ubuntu LTS (16.04).

Well actually there is a workaround for this.
If you stop python's compilation using ctrl+z while it's configuring and patching one of the python building scripts (I don't remember which one now :( ) then you'll have to compile two files with some more flags. The problem is caused randomly by python's configure script which forgets to add some flags to the compilation and those modules won't build without them. There is a fix somewhere here but I don't know where :( but if you ask around on IRC they might remember as they helped me before too.