[issue19153] Embedding into a shared library fails again

2013-10-04 Thread Antoine Pitrou

Antoine Pitrou added the comment:

 No custom builds. Every package from ubuntu repository. Psycopg2 installed by 
 pip

You may have to rebuild packages using the custom Python, not the system 
Python, since the linker options have to be different (especially the shared 
part: Ubuntu's Python is a static build, not a shared library build).

Or perhaps you can dlopen the CPython shared library with the RTLD_GLOBAL flag. 
I don't know.

I don't know if this is something that we can alleviate in Python itself.

--
nosy: +doko, pitrou, sandro.tosi
versions: +Python 3.3, Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19153
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19153] Embedding into a shared library fails again

2013-10-04 Thread Rinat

Rinat added the comment:

 Or perhaps you can dlopen the CPython shared library with the RTLD_GLOBAL 
 flag. I don't know.

Yes, it works. I made it is my shared library before boost block like this

{
  void* handle = dlopen(libpython2.7.so, RTLD_LAZY | RTLD_GLOBAL);
  // boost wrapper for python call
  dlclose(handle);
}


I think if nothing helps, i'll put this code into __attribute__((ctor|dtor)) 
functions

Thanks a lot

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19153
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19153] Embedding into a shared library fails again

2013-10-04 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Ok, making it a documentation issue in case it deserves clarification in the 
docs.

--
assignee:  - docs@python
components: +Documentation -Library (Lib)
nosy: +docs@python

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19153
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19153] Embedding into a shared library fails again

2013-10-03 Thread Rinat

New submission from Rinat:

I have same error as here described http://bugs.python.org/issue4434

I made everythings according this article 
http://docs.python.org/2/extending/embedding.html#compiling-and-linking-under-unix-like-systems
 and more but when i try to call interpriter from C++ it fails with errors

python_support::pre_process_payment() failed
Traceback (most recent call last):
  File string, line 1, in module
  File hidden-path/payments/__init__.py, line 1, in module
from .factory import *
  File hidden-path/payments/factory.py, line 7, in module
import psycopg2
  File /usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py, line 50, 
in module
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /usr/local/lib/python2.7/dist-packages/psycopg2/_psycopg.so: 
undefined symbol: PyExc_SystemError
Error in sys.excepthook:
Traceback (most recent call last):
  File /usr/lib/python2.7/dist-packages/apport_python_hook.py, line 66, in 
apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
  File /usr/lib/python2.7/dist-packages/apport/__init__.py, line 1, in 
module
from apport.report import Report
  File /usr/lib/python2.7/dist-packages/apport/report.py, line 16, in module
from xml.parsers.expat import ExpatError
  File /usr/lib/python2.7/xml/parsers/expat.py, line 4, in module
from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: 
_Py_ZeroStruct

Original exception was:
Traceback (most recent call last):
  File string, line 1, in module
  File hidden-path/payments/__init__.py, line 1, in module
from .factory import *
  File hidden-path/payments/factory.py, line 7, in module
import psycopg2
  File /usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py, line 50, 
in module
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /usr/local/lib/python2.7/dist-packages/psycopg2/_psycopg.so: 
undefined symbol: PyExc_SystemError


Environment
3.2.0-54-generic-pae #82-Ubuntu (12.04)
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Boost.Python 1.48
Python 2.7.3 (default, Sep 26 2013, 20:08:41) 
[GCC 4.6.3] on linux2

No custom builds. Every package from ubuntu repository. Psycopg2 installed by 
pip

Project is big so i can't to provide code

--
components: Library (Lib)
messages: 198900
nosy: rinatous
priority: normal
severity: normal
status: open
title: Embedding into a shared library fails again
type: behavior
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19153
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com