I'm about 90% of the way there on the native code side. The last part is tricky, but still mechanical. After I finish that the trick is going to be getting the test suite running. I suspect that will be nasty, just because there's a few thousand lines of code and it's going to be a pain to find everything. Might need some help there, I'll let you know.
On Wed, Oct 7, 2015 at 1:27 PM kwadwo amankwa <q...@lunarblack.com> wrote: > I'll work my way backwards . Eventually I'll get there. Anyway if you need > any help on adding python 3 support , I'll be more than happy to help > > thanks , > Que > > > On 07/10/15 20:40, Zachary Turner wrote: > > When you built LLDB, did you specify a -DPYTHON_HOME=<path> on your CMake > command line, and also run the install_custom_python.py script? There's a > lot of steps, so it seems like almost everybody misses at least one step > when doing this. > > I'm actively working (as in, literally right now) on getting LLDB to work > with Python 3. If all goes smoothly, hopefully all of these problems will > disappear and everything will just work without any user configuration > required at all. > > On Wed, Oct 7, 2015 at 12:17 PM kwadwo amankwa <q...@lunarblack.com> wrote: > >> 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 <q...@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 <q...@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 <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> >>>>> 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> 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 >>>>>>> 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