[lldb-dev] " Import error: No module named embedded_interpreter" on windows

kwadwo amankwa via lldb-dev lldb-dev at lists.llvm.org
Wed Oct 7 12:17:32 PDT 2015


Hi Zachary,

Ok so I did end up reconfiguring it and rebuilding but that was no help 
. I then realized that I was importing python27.dll as well as 
python27_d.dll . When I rebuilt liblldb I started getting an single 
unresolved error for
imp_Py_InitModule which I guess was the symbol for the Py_InitModule4 
python api  which is actually a macro which is defined depending on a 
few flags . So I ended up rebuilding python27 and the unresolved error 
went away and built everything from scratch . The good news is that when 
I invoke the 'script' command in the lldb interpreter it doesn't crash 
anymore and I can use the python interpreter . I can even import the 
lldb module without getting the embedded interpreter Import error . 
However I  when I actually import lldb from a python module and run it 
with the standalone interpreter I still get the Import Error.  I have 
checked the PYTHONPATH which was different for the lldb embedded 
interpreter and updated the variable to contain the missing paths but no 
cigar :-( . Any suggestions ?

On 05/10/15 21:21, Zachary Turner wrote:
> Can you try to regenerate CMake with that command line and see if that 
> helps?
>
> On Mon, Oct 5, 2015 at 1:17 PM kwadwo amankwa <que at lunarblack.com 
> <mailto:que at lunarblack.com>> wrote:
>
>
>     No
>
>     On 05/10/15 21:15, Zachary Turner wrote:
>>     Are you using -DCMAKE_BUILD_TYPE=Debug when you generate CMake?
>>
>>     On Mon, Oct 5, 2015 at 1:14 PM kwadwo amankwa <que at lunarblack.com
>>     <mailto:que at lunarblack.com>> wrote:
>>
>>         Thanks for the response ,  sorry for the delay. As a matter
>>         of fact I actually got rid of the system python and installed
>>         my custom version.  I do suspect it is a linking problem
>>         though. When I build liblldb.dll it always loads python27.dll
>>         instead of python27_d.dll. Do you happen to know where the
>>         python27 lib is specified as an input library because the
>>         project properties in liblldb does not specify it . however
>>         the linker complains if I don't specify the lib directory in
>>         'additional directories' and when I do it always links to the
>>         python27lib. I grepped the whole build directory and two
>>         files SystemInitializer.obj and LLDBWrapPython.obj seem to
>>         contain /DEFAULTLIB:python27.lib. Do you have an idea of what
>>         is causing the compiler to do this ?
>>
>>
>>         On 05/10/15 19:13, Zachary Turner wrote:
>>>         Ahh, I thought you were doing this from inside LLDB.  There
>>>         are a couple of problems:
>>>
>>>         1) You might be running with the system Python, not the
>>>         custom Python you built with VS2013.  What is the value of
>>>         `sys.executable`?
>>>         2) Even if you are running your own Python, the regular
>>>         Python appears to be in your `sys.path`.  You will need to
>>>         unset PYTHONPATH and PYTHONHOME from pointing to your system
>>>         Python.  PYTHONHOME should point to your custom Python, and
>>>         PYTHONPATH should point to the `lib\site-packages` directory
>>>         that I mentioned earlier in your build directory.
>>>
>>>
>>>
>>>         On Mon, Oct 5, 2015 at 11:06 AM kwadwo amankwa
>>>         <que at lunarblack.com <mailto:que at lunarblack.com>> wrote:
>>>
>>>             here it is;
>>>
>>>             C:\Users\redbandit\Documents\GitHub\pygui>python
>>>             Python 2.7.10 (default, Sep 18 2015, 02:35:59) [MSC
>>>             v.1800 64 bit (AMD64)] on win32
>>>             Type "help", "copyright", "credits" or "license" for
>>>             more information.
>>>             >>> import sys
>>>             >>> sys.path
>>>             ['', 'C:\\Python27\\Lib',
>>>             'C:\\Users\\redbandit\\llvm\\build\\Debug\\lib\\site-packages\\lldb',
>>>             'C:\\Users\\redbandit\\llvm\\build\\tools\\lldb\\scripts',
>>>             'C:\\Users\\redbandi t\\Documents\\GitHub\\pygui',
>>>             'C:\\Python27\\python27.zip', 'C:\\Python27\\DLLs',
>>>             'C:\\Python27\\lib\\plat-win',
>>>             'C:\\Python27\\lib\\lib-tk', 'C:\\Python27',
>>>             'C:\\Python27\\li b\\site-packages']
>>>             >>> import lldb
>>>             Traceback (most recent call last):
>>>               File "<string>", line 1, in <module>
>>>             ImportError: No module named embedded_interpreter
>>>             >>> lldb.__file__
>>>             'C:\\Users\\redbandit\\llvm\\build\\tools\\lldb\\scripts\\lldb.pyc'
>>>
>>>             >>> sys.path
>>>             ['C:/Users/redbandit/llvm/build/Debug/lib/site-packages/lldb',
>>>             'C:/Users/redbandit/llvm/build/Debug/lib/site-packages/lib/site-packages',
>>>             '', 'C:\\Python27\\Lib', 'C:\\Users\\
>>>             redbandit\\llvm\\build\\Debug\\lib\\site-packages\\lldb', 'C:\\Users\\redbandit\\llvm\\build\\tools\\lldb\\scripts',
>>>             'C:\\Users\\redbandit\\Documents\\GitHub\\pygui',
>>>             'C:\\Pyt hon27\\python27.zip', 'C:\\Python27\\DLLs',
>>>             'C:\\Python27\\lib\\plat-win',
>>>             'C:\\Python27\\lib\\lib-tk', 'C:\\Python27',
>>>             'C:\\Python27\\lib\\site-packages', '.']
>>>
>>>
>>>             On 05/10/15 18:48, Zachary Turner wrote:
>>>>             Can you run the followign commands and paste the output?
>>>>
>>>>             >>> import sys
>>>>             >>> sys.path
>>>>             ['D:/src/llvmbuild/ninja/bin',
>>>>             'D:/src/llvmbuild/ninja/lib/site-packages',
>>>>             'D:\\src\\llvmbuild\\ninja\\bin\\python27_d.zip',
>>>>             'C:\\Python27_LLDB\\x86\\DLLs',
>>>>             'C:\\Python27_LLDB\\x86\\lib',
>>>>             'C:\\Python27_LLDB\\x86\\lib\\plat-win',
>>>>             'C:\\Python27_LLDB\\x86\\lib\\lib-tk',
>>>>             'D:\\src\\llvmbuild\\ninja\\bin'
>>>>             , 'C:\\Python27_LLDB\\x86',
>>>>             'C:\\Python27_LLDB\\x86\\lib\\site-packages', '.']
>>>>             >>> import lldb
>>>>             >>> lldb.__file__
>>>>             'D:/src/llvmbuild/ninja/lib/site-packages\\lldb\\__init__.pyc'
>>>>             >>> sys.path
>>>>             ['D:/src/llvmbuild/ninja/bin',
>>>>             'D:/src/llvmbuild/ninja/lib/site-packages',
>>>>             'D:\\src\\llvmbuild\\ninja\\bin\\python27_d.zip',
>>>>             'C:\\Python27_LLDB\\x86\\DLLs',
>>>>             'C:\\Python27_LLDB\\x86\\lib',
>>>>             'C:\\Python27_LLDB\\x86\\lib\\plat-win',
>>>>             'C:\\Python27_LLDB\\x86\\lib\\lib-tk',
>>>>             'D:\\src\\llvmbuild\\ninja\\bin'
>>>>             , 'C:\\Python27_LLDB\\x86',
>>>>             'C:\\Python27_LLDB\\x86\\lib\\site-packages', '.']
>>>>             >>>
>>>>
>>>>             and also make sure that in the same folder as your
>>>>             _lldb_d.pyd, there is an embedded_interpreter.py?
>>>>
>>>>             On Mon, Oct 5, 2015 at 9:14 AM kwadwo amankwa
>>>>             <que at lunarblack.com <mailto:que at lunarblack.com>> wrote:
>>>>
>>>>                 Hi Zachary,
>>>>
>>>>                 thanks for the reply , I did use MSBUILD  as Ninja
>>>>                 didn't work for me on my system.  As far as the
>>>>                 _lldb_d.pyd file is concerned it is stored in the
>>>>                 same place.  and it is being used by lldb.py
>>>>                 because everything else works besides the
>>>>                 embedded_interpreter. That is I am able to use the
>>>>                 api from python it is just that interpreter issue
>>>>                 that comes up .
>>>>
>>>>                 Cheers,
>>>>                 Que
>>>>
>>>>
>>>>                 On 05/10/15 16:56, Zachary Turner wrote:
>>>>>                 Are you using MSBuild or Ninja to build (i.e. are
>>>>>                 you clicking the Build Solution button in Visual
>>>>>                 Studio or running ninja from command line)?  I
>>>>>                 don't know where it puts this stuff with a VS2013
>>>>>                 build, but with a ninja build, your directory will
>>>>>                 be organized like this:
>>>>>
>>>>>                 build
>>>>>                 |___bin
>>>>>                      |___lldb.exe
>>>>>                      |___liblldb.dll
>>>>>                 |___lib
>>>>>                      |___site-packages
>>>>>                            |___lldb
>>>>>                  |___lldb_d.pyd   // If this is a debug build,
>>>>>                 lldb.pyd if release
>>>>>
>>>>>                 I'm betting you're missing the pyd file.  Can you
>>>>>                 confirm? Then we can diagnose that if it turns out
>>>>>                 to be the problem.
>>>>>
>>>>>                 On Mon, Oct 5, 2015 at 5:20 AM kwadwo amankwa via
>>>>>                 lldb-dev <lldb-dev at lists.llvm.org
>>>>>                 <mailto:lldb-dev at lists.llvm.org>> wrote:
>>>>>
>>>>>                     Hi guys,
>>>>>
>>>>>                     Can someone point me in the right direction on
>>>>>                     this . I have managed to
>>>>>                     set up my environment on windows , compiling
>>>>>                     python2.7.10 using VS2013
>>>>>                     and building llvm/lldb in VS2013. lldb and all
>>>>>                     its libraries build
>>>>>                     successfully so its just when I import lldb
>>>>>                     into my python project I get
>>>>>                     this error.
>>>>>
>>>>>                     File "<string>", line 1, in <module>
>>>>>                     Import error: No module named embedded_interpreter
>>>>>
>>>>>                       Also when I use the 'script' command in the
>>>>>                     lldb interpreter , lldb
>>>>>                     completely crashes  with an unhandled
>>>>>                     exception in the python
>>>>>                     file_write  function (fileobject.c:1852)
>>>>>
>>>>>                     n2 = fwrite(s, 1, n, f->f_fp);
>>>>>
>>>>>                     the call to fwrite causes an access violation 
>>>>>                     . My intuition tells me
>>>>>                     that i'm missing  a lib or something but I
>>>>>                     can't put my finger on it.
>>>>>                     Please Help !
>>>>>
>>>>>
>>>>>                     _______________________________________________
>>>>>                     lldb-dev mailing list
>>>>>                     lldb-dev at lists.llvm.org
>>>>>                     <mailto:lldb-dev at lists.llvm.org>
>>>>>                     http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20151007/c5b08138/attachment-0001.html>


More information about the lldb-dev mailing list