Sorry, still doesn't rings a bell. I am not that acquainted with the clang project, if possible I would like I would ask a few extra pointers. <div><br></div><div>I don't know where LLCM/CLang libraries default compile, nor lib clang.so defaults I never changed them and I am running on a MAC OS X as well, on Lion to be more precise. </div>
<div><br></div><div>I have many llvm and clang versions here, I run the installation using configure for most of them, and in fact took me considerable time to figure out even the debug+release folder that varies depending from where you are building. I don't know the conventions being used on the project nor its inside (and I can't make much sense of it which is why I decided on moving on this interface).</div>
<div><br></div><div>My /usr/local/lib/clang folder holds a 2.9 and a 3.1 folder. Am I expected to have a 3.2 folder after compiling and making the version on repository? If I run clang -v on my terminal (not ./clang on one of the release folders) I get clang version 3.0. So as you can see there are many versions floating around, but I am unaware on how to removing them either (I didn't find documentation for such, nor posts related to this). I tried to google this, but I didn't find any related problem so far). </div>
<div><br></div><div>I attempted running env like stated on the read me-file:</div><div><br></div><div><div>$ env PYTHONPATH=$(echo ~/llvm/tools/clang/bindings/python/) \</div><div> LD_LIBRARY_PATH=$(llvm-config --libdir) \</div>
<div> nosetests -v</div><div>tests.cindex.test_index.test_create ... ok</div></div><div><br></div><div>But I am not getting this. Am I supposed to run this from any specific folder? nose tests -v are not being found either.</div>
<div><br></div><div>Running env get me some variables, along them the PYTHONPATH I set, but LD_LIBRARY_PATH was not settled. Running env sets the variable if I don't put nose tests -v, but this is not really taking me nowhere.</div>
<div><br></div><div>Sorry, I'm still a rookie this, thank you for your patience.</div><div><br></div><div>Best Regards,</div><div><br clear="all">Carlos Andrade<br><div><a href="http://carlosandrade.co" target="_blank">http://carlosandrade.co</a></div>
<br>
<br><br><div class="gmail_quote">2012/7/12 Gregory Szorc <span dir="ltr"><<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>From the command line, set
LD_LIBRARY_PATH to where your compiled LLVM/Clang libraries
(libclang.so) are. Then, try to run the unit tests:<br>
<br>
$ LD_LIBRARY_PATH=/usr/local/lib nosetests -v
/home/gps/llvm/tools/clang/bindings/python<br>
<br>
If that works, then the libclang shared library being loaded isn't
the right one. You should seek out and destroy references to the
old version. If that doesn't work, you need to recompile a fresh
source pull of LLVM/Clang and load that libclang.<span class="HOEnZb"><font color="#888888"><br>
<br>
Gregory</font></span><div><div class="h5"><br>
<br>
On 7/12/12 5:52 PM, Carlos Andrade wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">Sorry I guess I lost you on this one. Where can I
change this variable?
<div><br>
</div>
<div>I am currently setting this on my ~/.profile</div>
<div><br>
</div>
<div>
<div>PYTHONPATH="/Users/carlosandrade/Desktop/llvm/tools/clang/bindings/python:$PYTHONPATH"</div>
<div>export PYTHONPATH</div>
<div><br>
</div>
<div>I only found on read me file after running grep this:</div>
<div><br>
</div>
<div>
<div>$ env PYTHONPATH=$(echo
~/llvm/tools/clang/bindings/python/) \</div>
<div> LD_LIBRARY_PATH=$(llvm-config --libdir) \</div>
<div> nosetests -v</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>But I am a little clueless on how to go about this!</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<br clear="all">
Carlos Andrade<br>
<div><a href="http://carlosandrade.co" target="_blank">http://carlosandrade.co</a></div>
<br>
<br>
<br>
<div class="gmail_quote">2012/7/12 Gregory Szorc <span dir="ltr"><<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>I just ran the most recent Python bindings on my OS X
build and it works fine.<br>
<br>
I suspect an older libclang is being loaded by the
Python bindings. Try:<br>
<br>
LD_LIBRARY_PATH=/path/to/llvm/lib python<br>
<br>
You may also want to debug the library loading code and
ensure the proper path is being picked up. You can
always through a print statement in there or something.<span><font color="#888888"><br>
<br>
Gregory</font></span>
<div>
<div><br>
<br>
On 7/12/12 5:25 PM, Carlos Andrade wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">Hi,
<div><br>
</div>
<div>I was using the old version of lib clang python
interface and have been following up on this. I
checked llvm, clang and the compiler as
recommended on the get started of the clang
webpage (<a href="http://clang.llvm.org/get_started.html" target="_blank">http://clang.llvm.org/get_started.html</a>).
After changing the python path to the new build I
am now getting an error while trying to run the
code. </div>
<div><br>
</div>
<div>
<div>Traceback (most recent call last):</div>
<div> File "aura.py", line 7, in <module></div>
<div> import clang.cindex</div>
<div> File
"/Users/carlosandrade/Desktop/llvm/tools/clang/bindings/python/clang/cindex.py",
line 2816, in <module></div>
<div> register_functions(lib)</div>
<div> File
"/Users/carlosandrade/Desktop/llvm/tools/clang/bindings/python/clang/cindex.py",
line 2407, in register_functions</div>
<div>
lib.clang_CompilationDatabase_dispose.argtypes =
[c_object_p]</div>
<div> File
"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py",
line 378, in __getattr__</div>
<div> func = self.__getitem__(name)</div>
<div> File
"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py",
line 383, in __getitem__</div>
<div> func = self._FuncPtr((name_or_ordinal,
self))</div>
<div>AttributeError: dlsym(0x1003b21b0,
clang_CompilationDatabase_dispose): symbol not
found</div>
</div>
<div><br>
</div>
<div>
<div><br>
</div>
<div>Does anyone know what is that?</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<br clear="all">
Carlos Andrade<br>
<div><a href="http://carlosandrade.co" target="_blank">http://carlosandrade.co</a></div>
<br>
<br>
<br>
<div class="gmail_quote">2012/7/11 Manuel Klimek <span dir="ltr"><<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>On Tue, Jul 10, 2012 at 3:27 PM, Manuel
Klimek <<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>>
wrote:<br>
> On Mon, Jul 9, 2012 at 8:13 AM,
Gregory Szorc <<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>>
wrote:<br>
>> On 7/1/12 11:48 PM, Manuel Klimek
wrote:<br>
>><br>
>> + lib.clang_tokenize(tu,
extent, byref(tokens_memory),<br>
>> +
byref(tokens_count))<br>
>><br>
>> Strange indent. Hm, after reading
further I see that that kind of indent is<br>
>> quite common. Is there a
guideline for how to indent this?<br>
>><br>
>> It appears my editor is indenting
8 spaces when wrapping lines. I'm pretty<br>
>> sure that's provided by a popular
"macro" settings file to handle Python.<br>
>> I'll change it to 4 spaces, as
that seems more conventional.<br>
>><br>
>><br>
>><br>
>> --- /dev/null<br>
>> +++
b/bindings/python/clang/enumerations.py<br>
>><br>
>> +TokenKinds = [<br>
>> + ('PUNCTUATION', 0),<br>
>> + ('KEYWORD', 1),<br>
>> + ('IDENTIFIER', 2),<br>
>> + ('LITERAL', 3),<br>
>> + ('COMMENT', 4),<br>
>> +]<br>
>><br>
>> This doesn't seem to match the
comment. Those "TokenKinds" are different<br>
>> from what I see in
clang/Basic/TokenKinds.def. Am I missing
something?<br>
>><br>
>> What doesn't match the comment?<br>
>><br>
>> Also, these come from<br>
>> <a href="http://clang.llvm.org/doxygen/group__CINDEX__LEX.html#gaf63e37eee4280e2c039829af24bbc201" target="_blank">http://clang.llvm.org/doxygen/group__CINDEX__LEX.html#gaf63e37eee4280e2c039829af24bbc201</a>,<br>
>> not the low-level tokens from
TokenKinds.def.<br>
><br>
> Oh, wow. Can you add a comment on
where these TokenKinds come from.<br>
> With the overloaded meaning it's
really confusing.<br>
<br>
</div>
</div>
And apart from that lgtm.<br>
<div>
<div><br>
><br>
> Thanks!<br>
> /Manuel<br>
><br>
>><br>
>><br>
>> On Sat, Jun 30, 2012 at 4:16 AM,
Gregory Szorc <<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>><br>
>> wrote:<br>
>>><br>
>>> Updated patch attached.<br>
>>><br>
>>> * Added Cursor.get_tokens()<br>
>>> * Refactored TokenGroup out
of TranslationUnit to support above<br>
>>> * Refactored with
TranslationUnit.get_* API changes from
last patch.<br>
>>><br>
>>> On Fri, Jun 29, 2012 at 12:18
AM, Gregory Szorc <<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>><br>
>>> wrote:<br>
>>> > This exposes all of
libclang's token functions in the Python
bindings.<br>
>>> ><br>
>>> > I'm putting the
TokenKind enumerations in a new module,<br>
>>> > clang.enumerations. I
plan to eventually move all existing<br>
>>> > enumerations there so
they are all consolidated. And, maybe one
day,<br>
>>> > we can even generate
that file automatically by parsing the
libclang<br>
>>> > header files. I know
Anders has code around somewhere that does<br>
>>> > this...<br>
>>> ><br>
>>> > ---<br>
>>> >
bindings/python/clang/cindex.py
| 177<br>
>>> > +++++++++++++++++++--<br>
>>> >
bindings/python/clang/enumerations.py
| 32 ++++<br>
>>> >
bindings/python/tests/cindex/test_token_kind.py
| 43 +++++<br>
>>> >
bindings/python/tests/cindex/test_tokens.py
| 52 ++++++<br>
>>> >
.../python/tests/cindex/test_translation_unit.py
| 24 ++-<br>
>>> > 5 files changed, 312
insertions(+), 16 deletions(-)<br>
>>> > create mode 100644
bindings/python/clang/enumerations.py<br>
>>> > create mode 100644
bindings/python/tests/cindex/test_token_kind.py<br>
>>> > create mode 100644
bindings/python/tests/cindex/test_tokens.py<br>
>>><br>
>>>
_______________________________________________<br>
>>> cfe-commits mailing list<br>
>>> <a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
>>><br>
>><br>
>><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>