[Assist] Help with Flake8

edgar at openmail.cc edgar at openmail.cc
Wed Jul 26 05:12:44 BST 2017


On 2017-07-25 05:30, edgar at openmail.cc wrote:
> Hello,
> 
> I am remastering Parabola's MATE iso. One of my objectives is to have
> a Emacs running with elpy. For this, I need flake8. I installed it
> with pacman:
> 
> $ pacman -S flake8
> 
> and I can run pyflakes on a file
> 
> $ pyflakes /tmp/t.py
> 
> but flake8 is not working:
> 
> $ flake8 /tmp/t.py
> Traceback (most recent call last):
>   File "/usr/sbin/flake8", line 11, in <module>
>     load_entry_point('flake8==3.3.0', 'console_scripts', 'flake8')()
>   File
> "/home/parabola/.local/lib/python3.6/site-packages/flake8/main/cli.py",
> line 16, in main
>     app.run(argv)
>   File
> "/home/parabola/.local/lib/python3.6/site-packages/flake8/main/application.py",
> line 328, in run
>     self._run(argv)
>   File
> "/home/parabola/.local/lib/python3.6/site-packages/flake8/main/application.py",
> line 315, in _run
>     self.initialize(argv)
>   File
> "/home/parabola/.local/lib/python3.6/site-packages/flake8/main/application.py",
> line 303, in initialize
>     self.make_file_checker_manager()
>   File
> "/home/parabola/.local/lib/python3.6/site-packages/flake8/main/application.py",
> line 229, in make_file_checker_manager
>     checker_plugins=self.check_plugins,
>   File
> "/home/parabola/.local/lib/python3.6/site-packages/flake8/checker.py",
> line 89, in __init__
>     self.pool = multiprocessing.Pool(self.jobs, _pool_init)
>   File "/usr/lib/python3.6/multiprocessing/context.py", line 119, in 
> Pool
>     context=self.get_context())
>   File "/usr/lib/python3.6/multiprocessing/pool.py", line 156, in 
> __init__
>     self._setup_queues()
>   File "/usr/lib/python3.6/multiprocessing/pool.py", line 249, in 
> _setup_queues
>     self._inqueue = self._ctx.SimpleQueue()
>   File "/usr/lib/python3.6/multiprocessing/context.py", line 112, in 
> SimpleQueue
>     return SimpleQueue(ctx=self.get_context())
>   File "/usr/lib/python3.6/multiprocessing/queues.py", line 322, in 
> __init__
>     self._rlock = ctx.Lock()
>   File "/usr/lib/python3.6/multiprocessing/context.py", line 67, in 
> Lock
>     return Lock(ctx=self.get_context())
>   File "/usr/lib/python3.6/multiprocessing/synchronize.py", line 163,
> in __init__
>     SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx)
>   File "/usr/lib/python3.6/multiprocessing/synchronize.py", line 60, in 
> __init__
>     unlink_now)
> OSError: [Errno 38] Function not implemented
> 
> Ironically, my old flake8 (in my previous non-Parabola distribution)
> does work. The version in the Parabola chroot is 3.3.0 and the one in
> the "older" system is 3.2.1.
> 
> Can anybody help me with this? I'm in a rush :S (sorry). Thanks.
> 
> 
> Edgar

My problem was that I was running in a chroot, which prevented 
multiprocessing:

https://github.com/mozilla/build-relengapi/issues/182
https://stackoverflow.com/questions/6033599/oserror-38-errno-38-with-multiprocessing


Solution: (in the directory where the chroot will happen, before issuing 
chroot .)

mount -t tmpfs /dev/shm dev/shm
mount -t tmpfs /run run
[[-d run/shm ]] || mkdir run/shm
sudo mount -t tmpfs /run/shm/ run/shm

-------------------------------------------------

ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!  
15GB disk! No bandwidth quotas!
Commercial and Bulk Mail Options!  


More information about the Assist mailing list