Build problem, PythonTest_pyuno_pytests_ssl fails

Pavel Laštovička pavel at goodsailors.com
Fri Jan 16 04:35:34 PST 2015


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



More information about the LibreOffice mailing list