Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol: _Py_ZeroStruct when built against current Debian Unstable as of 4-22-2018 #31

Closed
lukefromdc opened this issue Apr 23, 2018 · 4 comments

Comments

@lukefromdc
Copy link
Member

lukefromdc commented Apr 23, 2018

Expected behaviour

Caja opens without warnings of python errors, and extensions like Caja Admin extension work

Actual behaviour

If Debian's packaged python-caja (python-caja_1.20.0-1_amd64.deb and python-caja-common_1.20.0-1_all.deb) are used this package works as expected.

On the other hand, a local build against Debian Unstable as of 4-22-208 it does not work, even with the same configuration options, and even if a python-caja tarball from Debian's repo is used rather than downloaded tarball from git

When caja opens I get the errors below from python-caja and python extensions cannot be loaded.
libpython2.7.so.1.0 is present on the system, so it looks like the undefined symbol: _Py_ZeroStruct is the culprit here:


(caja:21735): Caja-Python-WARNING **: 01:23:22.701: g_module_open libpython failed: /libpython2.7.so.1.0: cannot open shared object file: No such file or directory
ImportError: could not import gobject (error was: '/usr/lib/python2.7/dist-packages/gi/_gi.x86_64-linux-gnu.so: undefined symbol: _Py_ZeroStruct')

(caja:21735): Caja-Python-WARNING **: 01:23:22.710: pygobject initialization failed

(caja:21735): Caja-Python-WARNING **: 01:23:22.710: caja_python_init_python failed

Steps to reproduce the behaviour

1: Install MATE including caja 1.21 from git master and caja-extensions git master by local builds with config options
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --enable-shared=yes --disable-maintainer-mode --disable-schemas-compile
into Debian Unstable

2: Build python-caja with these build options or the ones used by Debian, it makes no difference.

3: install Caja Admin and restart caja (my tests were running from terminal)

$: up come the warnings, python extensions are not loaded

MATE general version

1.20/1.21 mix from git master, generally up to date

Package version

1.20.0 as release or 1.20.0+git master 2018-04-23 locally built, both behave the same way as expected.

Linux Distribution

Debian Unstable updated as of 4-22-2018

Link to downstream report of your Distribution

None, the packages distributed by Debian work (perhaps linked against older python 2.7 version?), something changed since they were built.

@lukefromdc lukefromdc changed the title Undefined symbol error when built against current Debian Unstable as of 4-22-2018 undefined symbol: _Py_ZeroStruct when built against current Debian Unstable as of 4-22-2018 Apr 23, 2018
@monsta
Copy link
Contributor

monsta commented May 2, 2018

I can't reproduce it in Debian Testing, but as I build packages using our debian-packages repo, I also have this patch. Can you try it?

g_module_open libpython failed: /libpython2.7.so.1.0: cannot open shared object file: No such file or directory

This looks like it tries to load the library from the root dir, which might be when PYTHON_LIB_LOC is empty (and it is empty without the mentioned patch).

@monsta
Copy link
Contributor

monsta commented May 2, 2018

Forgot to mention that it's Debian/Ubuntu-specific patch, and it's needed because of this "fix":
https://bugs.debian.org/770935

@lukefromdc
Copy link
Member Author

That Debian patch works, I now have a working local build of python-caja.

@monsta
Copy link
Contributor

monsta commented May 16, 2018

You can close this - it's a Debian/Ubuntu-specific problem, we can't do anything about it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants