https://bugs.freedesktop.org/show_bug.cgi?id=60640

Stephan Bergmann <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #15 from Stephan Bergmann <[email protected]> ---
The problem is that your /usr/bin/evolution internally uses (the system) Python
interpreter, LO's soffice.bin process prepends its own Python installation's
directories to the PYTHONPATH environment variable (which is handed down to the
evolution process) as soon as Python is instantiated in LO, and the two Python
versions are apparently incompatible (Python 2 vs. 3, presumably), so
/usr/bin/evolution fails with non-zero exit code:

> 5699  execve("/usr/bin/evolution", ["evolution", 
> "mailto:?subject=noname.ods&attach=file:///tmp/lupsegw4.tmp/lupsegw7.tmp/noname.ods";],
>  [/* 37 vars */]) = 0
[...]
> 5699  
> open("/opt/libreoffice4.1/program/../program/python-core-3.3.0/lib/codecs.py",
>  O_RDONLY) = 32
[...]
> 5699  read(32, "\"\"\" codecs -- Python Codec Registry, API and 
> helpers.\n\n\nWritten by Marc-Andre Lemburg ([email protected]).\n\n(c) 
> Copyright CNRI, All Rights Reserved. NO WARRANTY.\n\n\"\"\"#\"\n\nimport 
> builtins, sys\n\n### Registry and builtin stateless codec functions\n\ntry:\n 
>    from "..., 4096) = 4096
> 5699  read(32, ", errors='strict'):\n\n        \"\"\" Decodes the object 
> input and returns a tuple (output\n            object, length consumed).\n\n  
>           input must be an object which provides the bf_getreadbuf\n          
>   buffer slot. Python strings, buffer objects and me"..., 4096) = 4096
> 5699  read(32, " decoder.\n\n        This must be a (buffered_input, 
> additional_state_info) tuple.\n        buffered_input must be a bytes object 
> containing bytes that\n        were passed to decode() that have not yet been 
> converted.\n        additional_state_info must be a n"..., 4096) = 4096
> 5699  read(32, "etattr__(self, name,\n                    
> getattr=getattr):\n\n        \"\"\" Inherit all other methods from the 
> underlying stream.\n        \"\"\"\n        return getattr(self.stream, 
> name)\n\n    def __enter__(self):\n        return self\n\n    def 
> __exit__(self, type, "..., 4096) = 4096
[...]
> 5699  write(2, "Traceback (most recent call last):\n", 35) = 35
> 5699  write(2, "  File 
> \"/opt/libreoffice4.1/program/../program/python-core-3.3.0/lib/encodings/__init__.py\",
>  line 31, in <module>\n", 114) = 114
[...]
> 5699  write(2, "    ", 4)               = 4
> 5699  write(2, "import codecs\n", 14)   = 14
[...]
> 5699  write(2, "  File \"", 8)          = 8
> 5699  write(2, 
> "/opt/libreoffice4.1/program/../program/python-core-3.3.0/lib/codecs.py", 70) 
> = 70
> 5699  write(2, "\", line ", 8)          = 8
> 5699  write(2, "1045", 4)               = 4
> 5699  write(2, "\n", 1)                 = 1
> 5699  write(2, "    ", 4)               = 4
> 5699  write(2, "return {i:i for i in rng}\n", 26) = 26
> 5699  write(2, "    ", 4)               = 4
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, " ", 1)                  = 1
> 5699  write(2, "^\n", 2)                = 2
> 5699  write(2, "SyntaxError", 11)       = 11
> 5699  write(2, ": ", 2)                 = 2
> 5699  write(2, "invalid syntax", 14)    = 14
> 5699  write(2, "\n", 1)                 = 1
[...]
> 5699  exit_group(1)                     = ?

The fix would be to undo the modifications to PYTHONPATH before spawning new
processes (or, better yet, potentially find a solution that does not require
modification of the PYTHONPATH environment variable at all).

An immediate workaround should be to not use a generic TDF LO installation set
from <http://www.libreoffice.org/download> (which bundles its own Python) but
to use one specifically built for the given Linux distro (which likely uses the
system Python instead).

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to