[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