Issue 272 in pyftpdlib: pyftpdlib-1.2.0 doesn't work on OpenBSD

2 views
Skip to first unread message

pyft...@googlecode.com

unread,
Sep 16, 2013, 9:54:06 PM9/16/13
to pyftpdli...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-High Component-Library OpSys-OpenBSD

New issue 272 by juanfra...@gmail.com: pyftpdlib-1.2.0 doesn't work on
OpenBSD
http://code.google.com/p/pyftpdlib/issues/detail?id=272

OS: OpenBSD
Python: 2.7.5 and 3.3
pyftplib: 1.2.0

pyftplib uses the multiprocessing module of python. Some parts of this
module don't work on OpenBSD due to the lack of some semaphore
functionality.


$ python2.7 -m pyftpdlib
Traceback (most recent call last):
File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/site-packages/pyftpdlib/__main__.py", line
45, in <module>
from pyftpdlib.servers import FTPServer
File "/usr/local/lib/python2.7/site-packages/pyftpdlib/servers.py", line
521, in <module>
class MultiprocessFTPServer(_SpawnerBase):
File "/usr/local/lib/python2.7/site-packages/pyftpdlib/servers.py", line
525, in MultiprocessFTPServer
_lock = multiprocessing.Lock()
File "/usr/local/lib/python2.7/multiprocessing/__init__.py", line 175, in
Lock
from multiprocessing.synchronize import Lock
File "/usr/local/lib/python2.7/multiprocessing/synchronize.py", line 59,
in <module>
" function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation,
therefore, the required synchroniz
ation primitives needed will not function, see issue 3770.


pyftplib 0.7 works OK. Can you modify pyftplib to work around of the
OpenBSD problem?.

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

pyft...@googlecode.com

unread,
Sep 24, 2013, 5:09:24 AM9/24/13
to pyftpdli...@googlegroups.com

Comment #1 on issue 272 by g.rodola: pyftpdlib-1.2.0 doesn't work on OpenBSD
http://code.google.com/p/pyftpdlib/issues/detail?id=272

Can you try this and tell me if it works?

Index: servers.py
===================================================================
--- servers.py (revision 1233)
+++ servers.py (working copy)
@@ -518,6 +518,10 @@
if os.name == 'posix':
try:
import multiprocessing
+ # Work around
https://code.google.com/p/pyftpdlib/issues/detail?id=272
+ # on OpenBSD.
+ multiprocessing.Lock()
+ multiprocessing.Event()
except ImportError:
pass
else:

pyft...@googlecode.com

unread,
Sep 24, 2013, 4:10:51 PM9/24/13
to pyftpdli...@googlegroups.com

Comment #2 on issue 272 by juanfra...@gmail.com: pyftpdlib-1.2.0 doesn't
Your patch fixes the problem. Thanks a lot!

pyft...@googlecode.com

unread,
Nov 6, 2013, 3:29:32 PM11/6/13
to pyftpdli...@googlegroups.com
Updates:
Status: FixedInSVN
Labels: -OpSys-OpenBSD OpSys-BSD Milestone-1.3.0

Comment #3 on issue 272 by g.rodola: pyftpdlib-1.2.0 doesn't work on OpenBSD
http://code.google.com/p/pyftpdlib/issues/detail?id=272

(No comment was entered for this change.)

pyft...@googlecode.com

unread,
Dec 5, 2013, 6:13:23 AM12/5/13
to pyftpdli...@googlegroups.com

Comment #5 on issue 272 by juanfra...@gmail.com: pyftpdlib-1.2.0 doesn't
Just for future reference, OpenBSD has now support for semaphores. The
patch is only needed for version 5.4 and earlier.
Reply all
Reply to author
Forward
0 new messages