Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 330511 - dev-python/snakeoil-0.3.7 fails to build with cannot import name SemLock, warns byte-compiling disabled
Summary: dev-python/snakeoil-0.3.7 fails to build with cannot import name SemLock, war...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Brian Harring (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-30 14:32 UTC by Mark David Dumlao
Modified: 2011-01-03 11:11 UTC (History)
0 users

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


Attachments
emerge --info dev-python/snakeoil-0.3.7 output (snakeoil.emergeinfo,4.14 KB, text/plain)
2010-07-30 14:39 UTC, Mark David Dumlao
Details
snakeoil-0.3.7 build.log (build.log,14.82 KB, text/plain)
2010-07-30 14:39 UTC, Mark David Dumlao
Details
snakeoil-0.3.7 build environment (environment,135.20 KB, text/plain)
2010-07-30 14:40 UTC, Mark David Dumlao
Details
patch to detect broken (patch,1.33 KB, text/plain)
2010-07-31 22:15 UTC, Brian Harring (RETIRED)
Details
assign, not equals test.. (patch,1.33 KB, patch)
2010-08-01 11:03 UTC, Brian Harring (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark David Dumlao 2010-07-30 14:32:51 UTC
I am trying to build sys-apps/pkgcore on an openvz gentoo guest, but cannot get to there because the snakeoil dependency fails to build. Have dev-lang/python-2.6.5-r3 and 3.1.2-r4 installed on the server. However, I have already built snakeoil / pkgcore on my local desktop with same python/portage versions and did not encounter trouble.

Reproducible: Always

Steps to Reproduce:
1. emerge -uDNtav sys-apps/pkgcore
Actual Results:  
Fails at step building dev-python/snakeoil

Expected Results:  
snakeoil builds successfully, and moves on to pkgcore.

Works fine on my 64bit desktop, fails on my 32bit openvz guest server.
Comment 1 Mark David Dumlao 2010-07-30 14:39:18 UTC
Created attachment 240695 [details]
emerge --info dev-python/snakeoil-0.3.7 output
Comment 2 Mark David Dumlao 2010-07-30 14:39:50 UTC
Created attachment 240699 [details]
snakeoil-0.3.7 build.log
Comment 3 Mark David Dumlao 2010-07-30 14:40:16 UTC
Created attachment 240701 [details]
snakeoil-0.3.7 build environment
Comment 4 Brian Harring (RETIRED) gentoo-dev 2010-07-31 22:15:37 UTC
Created attachment 240893 [details]
patch to detect broken 

Please try this patch out- basically it detects python upstream bug 3770 and disables multiprocessing in full for 2to3 if it's spotted.
Comment 5 Mark David Dumlao 2010-08-01 10:19:09 UTC
Tried the attachment, I get
>>> Emerging (1 of 2) dev-python/snakeoil-0.3.7-r1 from unknown repo
 * snakeoil-0.3.7.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                  [ ok ]
 * checking ebuild checksums ;-) ...                                       [ ok ]
 * checking auxfile checksums ;-) ...                                      [ ok ]
 * checking miscfile checksums ;-) ...                                     [ ok ]
>>> cfg-update-1.8.2-r1: Checksum index is up-to-date ...
 * CPV:  dev-python/snakeoil-0.3.7-r1
 * REPO: 
 * USE:  elibc_glibc kernel_linux userland_GNU x86
>>> Unpacking source...
>>> Unpacking snakeoil-0.3.7.tar.bz2 to /var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work
/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/temp/environment: line 3353: epatch: command not found
>>> Source unpacked in /var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work
>>> Preparing source in /var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7 ...
 * Building of dev-python/snakeoil-0.3.7-r1 with CPython 2.6...
...
creating build-3.1/lib/snakeoil/xml
copying snakeoil/xml/bundled_elementtree.py -> build-3.1/lib/snakeoil/xml
copying snakeoil/xml/__init__.py -> build-3.1/lib/snakeoil/xml
warning: snakeoil_build_py: byte-compiling is disabled, skipping.

starting 2to3 conversion; this may take a while...
Traceback (most recent call last):
  File "/usr/lib/python3.1/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock
ImportError: cannot import name SemLock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 111, in <module>
    'test': test,
  File "/usr/lib/python3.1/distutils/core.py", line 149, in setup
    dist.run_commands()
  File "/usr/lib/python3.1/distutils/dist.py", line 919, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.1/distutils/dist.py", line 938, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.1/distutils/command/build.py", line 128, in run
    self.run_command(cmd_name)
  File "/usr/lib/python3.1/distutils/cmd.py", line 315, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.1/distutils/dist.py", line 938, in run_command
    cmd_obj.run()
  File "/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7/snakeoil/distutils_extensions.py", line 286, in run
    converter([x[0] for x in py3k_rebuilds], write=True)
  File "/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7/snakeoil/distutils_extensions.py", line 264, in f2
    return f(*args, **kwds)
  File "/usr/lib/python3.1/lib2to3/refactor.py", line 620, in refactor
    self.queue = multiprocessing.JoinableQueue()
  File "/usr/lib/python3.1/multiprocessing/__init__.py", line 218, in JoinableQueue
    from multiprocessing.queues import JoinableQueue
  File "/usr/lib/python3.1/multiprocessing/queues.py", line 22, in <module>
    from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition
  File "/usr/lib/python3.1/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
 * ERROR: dev-python/snakeoil-0.3.7-r1 failed:
 *   Building failed with CPython 3.1 in distutils_building() function
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 3333:  Called distutils_src_compile
 *   environment, line 1006:  Called python_execute_function 'distutils_building'
 *   environment, line 2133:  Called die
 * The specific snippet of code:
 *                       die "${failure_message}";
 * 
 * If you need support, post the output of 'emerge --info =dev-python/snakeoil-0.3.7-r1',
 * the complete build log and the output of 'emerge -pqv =dev-python/snakeoil-0.3.7-r1'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * The complete build log is located at '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/temp/environment'.
 * S: '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7'

>>> Failed to emerge dev-python/snakeoil-0.3.7-r1, Log file:

>>>  '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/temp/build.log'

 * Messages for package dev-python/snakeoil-0.3.7-r1:

 * ERROR: dev-python/snakeoil-0.3.7-r1 failed:
 *   Building failed with CPython 3.1 in distutils_building() function
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 3333:  Called distutils_src_compile
 *   environment, line 1006:  Called python_execute_function 'distutils_building'
 *   environment, line 2133:  Called die
 * The specific snippet of code:
 *                       die "${failure_message}";
 * 
 * If you need support, post the output of 'emerge --info =dev-python/snakeoil-0.3.7-r1',
 * the complete build log and the output of 'emerge -pqv =dev-python/snakeoil-0.3.7-r1'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * The complete build log is located at '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/temp/environment'.
 * S: '/var/tmp/portage/dev-python/snakeoil-0.3.7-r1/work/snakeoil-0.3.7'

===
Which is different from my previous bug and points squarely at my dev-lang/python. Thanks for the tip.

Thanks for the python tip. I noticed that my home machine has dev-lang/python-2.6.5-r3 and 3.1.2-r4 but my server has 2.6.5-r2 and 3.1.2-r3. I'll try switching over and see if that solves my problem.
Comment 6 Brian Harring (RETIRED) gentoo-dev 2010-08-01 11:03:36 UTC
Created attachment 240913 [details, diff]
assign, not equals test..

Sorry, there is a stupid typo in the proc_count disabling- it does an equality test instead of assigning.

This version should fix it.
Comment 7 Brian Harring (RETIRED) gentoo-dev 2011-01-03 11:11:49 UTC
Fixed via 0.3.7-r1.