Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E259:not find 'xxx' #9

Open
xiaoholmes opened this issue Mar 18, 2019 · 16 comments
Open

E259:not find 'xxx' #9

xiaoholmes opened this issue Mar 18, 2019 · 16 comments

Comments

@xiaoholmes
Copy link

你好:
麻烦问下我执行命令GscopeFind s 'xxx' ,去搜索某个函数xxx定义时,显示E259: not find 'xxx',请问这个咋解决呢?

@skywind3000
Copy link
Owner

你使用 gentutags 自动生成 gtags 数据库了没?

@xiaoholmes
Copy link
Author

嗯,在~/.cache/tags目录下面会自动生成了xxx.tags文件(大小不为0)以及xxx项目文件夹,在xxx文件夹中,自动生成GPATH、GRTAGS和GTAGS文件,不过奇怪的是这三个文件的大小为空。
我的.vimrc的配置如下:
let g:gutentags_modules = ['ctags', 'gtags_cscope']
let g:gutentags_project_root = ['.git']
let g:gutentags_ctags_tagfile = '.tags'
let s:vim_tags = expand('~/.cache/.tags')
let g:gutentags_cache_dir = s:vim_tags
let g:gutentags_file_list_command = 'find . -type f -name *.c -o -type f -name *.h'
if !isdirectory(s:vim_tags)
silent! call mkdir(s:vim_tags, 'p')
endif
let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extras=+q']
let g:gutentags_ctags_extra_args += ['--c++-kinds=+px']
let g:gutentags_ctags_extra_args += ['--c-kinds=+px']
let g:gutentags_ctags_extra_args += ['--output-format=e-ctags']
let g:gutentags_trace = 1

@xiaoholmes
Copy link
Author

打开调试message,发现启动vim后有如下错误:
gtags/script/pygments_parser.py", line 27, in
gutentags: [job output]: ' import pygments.lexers'
gutentags: [job output]: 'ImportError: No module named pygments.lexers'
gutentags: [job output]: 'gtags: unexpected EOF.'
gutentags: [job output]: 'Locking tags file...'
gutentags: [job output]: 'Running ctags on whole project'

@skywind3000
Copy link
Owner

这个错误很明显了,怎么处理不用我说了吧。。。

@xiaoholmes
Copy link
Author

这个error是解决了,是链接到另外一个项目的python了,现在指定使用/usr/bin/python,不报上面的这个error了。但是自动生成的GPATH、GRTAGS和GTAGS文件还是为空,搜索时候还是显示E259: not find 'xxx'。奇怪了,另外,调试信息的最后一个"unexpected type string:..."不知对这个有没有影响。
gutentags: [job output]: 'Unlocking tags file...'
gutentags: [job output]: 'Done.'
gutentags: Finished ctags job.
gutentags: [job output]: 'gtags: unexpected type string: /share/locale/es/LC_MESSAGES/libc.mo '
gutentags: Finished gtags_cscope job.
gutentags: gtags-cscope job failed, returned: 1

@skywind3000
Copy link
Owner

你自己的 gtags 版本有问题吧。

@xiaoholmes
Copy link
Author

gtags版本应该没有问题吧,是6.6.3
~ » gtags --version
gtags (GNU GLOBAL) 6.6.3
Powered by Berkeley DB 1.85.
Copyright (c) 1996-2018 Tama Communications Corporation
License GPLv3+: GNU GPL version 3 or later http://www.gnu.org/licenses/gpl.html
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

@skywind3000
Copy link
Owner

skywind3000 commented Mar 18, 2019

那你用相同的 $GTAGSLABEL$GTAGSCONF 环境变量和启动参数,命令行下调用下 gtags 看看呗。

@xiaoholmes
Copy link
Author

在当前shell下面export $GTAGSLABEL 和 $GTAGSCONF 环境变量和启动参数后,执行gtags,打印以下消息(当前目录下生成的GPATH、GRTAGS和GTAGS文件为空):
gtags: unexpected type string: /share/locale/es/LC_MESSAGES/libc.mo
Traceback (most recent call last):
File "/usr/share/gtags/script/pygments_parser.py", line 262, in
main()
File "
/usr/share/gtags/script/pygments_parser.py", line 259, in main
handle_requests(langmap, parser_options)
File "~/usr/share/gtags/script/pygments_parser.py", line 227, in handle_requests
print(typ, tag, lnum, path, image)
IOError: [Errno 32] Broken pipe

@skywind3000
Copy link
Owner

那你要检查你的 gtags 了,先排除 pygments 问题,尝试把 $GTAGSLABEL 换成 native ,然后测试原生支持的 6 种语言正常不。

@xiaoholmes
Copy link
Author

将$GTAGSLABEL 换成 native,可以正常生成GPATH、GRTAGS和GTAGS。如果将$GTAGSLABEL设置为native-pygments,就会出现上面的错误,无法生成正确的GPATH、GRTAGS和GTAGS

@skywind3000
Copy link
Owner

那你自己解决吧,这个问题不再我插件范围内。

@ihei
Copy link

ihei commented Jul 6, 2019

同遇到了这个报错,message里只有一条:(1 / 1): [cscope g: definition of "print_state"]。

@ihei
Copy link

ihei commented Jul 6, 2019

cs查引用没问题,cg查定义就永远是E259:not find 'xxx'

@zhuzhzh
Copy link

zhuzhzh commented Apr 21, 2022

将$GTAGSLABEL 换成 native,可以正常生成GPATH、GRTAGS和GTAGS。如果将$GTAGSLABEL设置为native-pygments,就会出现上面的错误,无法生成正确的GPATH、GRTAGS和GTAGS
我也是这个现象, 用的是自己编译的python3.8.13(在centos7), 不知道你是怎么解决的?

@zhuzhzh
Copy link

zhuzhzh commented Apr 21, 2022

将$GTAGSLABEL 换成 native,可以正常生成GPATH、GRTAGS和GTAGS。如果将$GTAGSLABEL设置为native-pygments,就会出现上面的错误,无法生成正确的GPATH、GRTAGS和GTAGS
我也是这个现象, 用的是自己编译的python3.8.13(在centos7), 不知道你是怎么解决的?

我找到我的问题啦,

我用的vim-plug,

Plug 'ludovicchabant/vim-gutentags', { 'for': ['cpp', 'c', 'python', 'verilog', 'systemverilog', 'go' ] }

所以一个目录里不全是c/c++文件时就不会生成tag文件

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants