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 <q...@lunarblack.com <mailto:q...@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 <q...@lunarblack.com
    <mailto:q...@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@lists.llvm.org <mailto:lldb-dev@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@lists.llvm.org <mailto:lldb-dev@lists.llvm.org>
            http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev




_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to