Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Hello,

Dne 9.1.2015 v 10:11 Caolán McNamara napsal(a):
On Mon, 2014-12-15 at 17:11 +0100, Pavel Laštovička wrote:
Hi Michael,

Dne 15.12.2014 v 16:54 Michael Stahl napsal(a):
On 15.12.2014 16:12, Pavel Laštovička wrote:
Hello,

so far I found that Python in 4.3 somehow suppresses output. I can call it
interactively or run a hello world script, but nothing is displayed in console. This
did not happen with 4.2. I am not sure how to proceed when I can't see any error
message.
On Windows, i don't remember this ever working in a Cygwin terminal;
python.exe seems to print only to a Windows cmd.exe terminal.
For me, python.exe works the same regardless if I run it from a Cygwin or cmd.exe
terminal.
hmm... perhaps try setting a breakpoint on exit() or _exit() ?
I would have to get it compiled with debug information first. I am not sure how to
do that.
But by trial and error I found python fails on the following line:

      import _ssl

Meanwhile, I have decided to remove this python check so I can continue with building.
That test ensures that the email mail merge has ssl support. Maybe you
have *another* _ssl.so in your path somewhere which is detected somehow
before the one that is built as part of LibreOffice.

C.

so with debugging I have found the cause of failed "import ssl":

'python.exe': Loaded 'C:\WINDOWS\system32\rsaenh.dll'
'python.exe': Loaded 'D:\LO\instdir\program\python3.dll', Binary was not built with debug information. 'python.exe': Loaded 'D:\LO\instdir\program\python-core-3.3.3\lib\_ssl.pyd', Symbols loaded.
'python.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll'
'python.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll'
'python.exe': Loaded 'C:\WINDOWS\system32\libeay32.dll', Binary was not built with debug information.
'python.exe': Loaded 'C:\WINDOWS\system32\wsock32.dll'
'python.exe': Loaded 'C:\WINDOWS\system32\msvcr71.dll'
First-chance exception at 0x7c9673be (ntdll.dll) in python.exe: 0xC0000138: Ordinal Not Found.

Python has a problem that if a required DLL exists in one of two Windows directories, LoadLibraryEx API uses it instead of DLL with the same name in LibreOffice program directory. I thought about how this could be fixed but only solution I have found is to copy libeay32.dll and ssleay32.dll into Python's lib directory. As we cannot assume what an user might or might not have installed in his Windows directory.

Import ssl works for me now but the respective unittest still fails for some reason. It would be much easier to fix if LO's Python would not have broken stdout (maybe it happens only on Windows, I have not tested Linux).

Pavel


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.