Opened 3 years ago

#62897 new defect

subversion-python27bindings@1.13.0_0: ImportError: No module named _core

Reported by: khepler Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: powerpc ppc leopard Cc:
Port: subversion-python27bindings

Description

Subversion bindings for Python 2.7 don't work.

Python 2.7.18 (default, Oct 12 2020, 15:30:38)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from svn import core
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/lib/svn-python2.7/svn/core.py", line 26, in <module>
    from libsvn.core import *
  File "/opt/local/lib/svn-python2.7/libsvn/core.py", line 17, in <module>
    _core = swig_import_helper()
  File "/opt/local/lib/svn-python2.7/libsvn/core.py", line 16, in swig_import_helper
    return importlib.import_module('_core')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named _core
>>>

Adding the verbose flag to python (log attached) shows a call to dlopen("/opt/local/lib/svn-python2.7/libsvn/_core.so", 2); immediately before the exception. The dlopen() call and the .py files in the stack trace show Python can find the module on disk, which seems to be the most common issue online. The shared object files are installed by subversion-python27bindings and definitely exist at that location.

$ ls -lahF /opt/local/lib/svn-python2.7/libsvn/
total 11M
drwxr-xr-x 44 root admin 1.5K May 15 15:03 ./
drwxr-xr-x  4 root admin  136 May 15 15:03 ../
-rw-r--r--  1 root admin 1.2K May 15 15:02 __init__.py
-rw-r--r--  1 root admin  131 May 15 15:02 __init__.pyc
-rw-r--r--  1 root admin 1.1M May 15 15:02 _client.a
-rwxr-xr-x  1 root admin  994 May 15 15:02 _client.la*
-rwxr-xr-x  1 root admin 736K May 15 15:02 _client.so*
-rw-r--r--  1 root admin 907K May 15 15:02 _core.a
-rwxr-xr-x  1 root admin  982 May 15 15:02 _core.la*
-rwxr-xr-x  1 root admin 681K May 15 15:02 _core.so*
-rw-r--r--  1 root admin 207K May 15 15:02 _delta.a
-rwxr-xr-x  1 root admin  988 May 15 15:02 _delta.la*
-rwxr-xr-x  1 root admin 199K May 15 15:02 _delta.so*
-rw-r--r--  1 root admin 220K May 15 15:02 _diff.a
-rwxr-xr-x  1 root admin  982 May 15 15:02 _diff.la*
-rwxr-xr-x  1 root admin 206K May 15 15:02 _diff.so*
-rw-r--r--  1 root admin 332K May 15 15:02 _fs.a
-rwxr-xr-x  1 root admin  970 May 15 15:02 _fs.la*
-rwxr-xr-x  1 root admin 288K May 15 15:02 _fs.so*
-rw-r--r--  1 root admin 452K May 15 15:02 _ra.a
-rwxr-xr-x  1 root admin  970 May 15 15:02 _ra.la*
-rwxr-xr-x  1 root admin 351K May 15 15:02 _ra.so*
-rw-r--r--  1 root admin 608K May 15 15:02 _repos.a
-rwxr-xr-x  1 root admin  988 May 15 15:02 _repos.la*
-rwxr-xr-x  1 root admin 430K May 15 15:02 _repos.so*
-rw-r--r--  1 root admin 1.1M May 15 15:02 _wc.a
-rwxr-xr-x  1 root admin  970 May 15 15:02 _wc.la*
-rwxr-xr-x  1 root admin 750K May 15 15:02 _wc.so*
-rw-r--r--  1 root admin 191K May 15 15:02 client.py
-rw-r--r--  1 root admin 209K May 15 15:02 client.pyc
-rw-r--r--  1 root admin 308K May 15 15:02 core.py
-rw-r--r--  1 root admin 335K May 15 15:02 core.pyc
-rw-r--r--  1 root admin  53K May 15 15:02 delta.py
-rw-r--r--  1 root admin  59K May 15 15:02 delta.pyc
-rw-r--r--  1 root admin  55K May 15 15:02 diff.py
-rw-r--r--  1 root admin  59K May 15 15:02 diff.pyc
-rw-r--r--  1 root admin  92K May 15 15:02 fs.py
-rw-r--r--  1 root admin 105K May 15 15:02 fs.pyc
-rw-r--r--  1 root admin  95K May 15 15:02 ra.py
-rw-r--r--  1 root admin 107K May 15 15:02 ra.pyc
-rw-r--r--  1 root admin 109K May 15 15:02 repos.py
-rw-r--r--  1 root admin 122K May 15 15:02 repos.pyc
-rw-r--r--  1 root admin 213K May 15 15:02 wc.py
-rw-r--r--  1 root admin 229K May 15 15:02 wc.pyc

Python just refuses to load the shared object file.

Preloading the .so with DYLD_INSERT_LIBRARIES='/opt/local/lib/svn-python2.7/libsvn/_core.so' did not help. Swig3 does not work any better either.

Additionally, I believe the subversion-python27bindings needs to depend on swig-python since the swig port does not build python2 support by default.

Attachments (1)

verbose-svn-core-exception.log (12.1 KB) - added by khepler 3 years ago.

Download all attachments as: .zip

Change History (1)

Changed 3 years ago by khepler

Note: See TracTickets for help on using tickets.