@Rubonnek Awesome - works as you suggested. Removed package, delete pyc files under ycmd and recompiled with python3. Changed interpreter to python3 and works fine. Cheers!
Search Criteria
Package Details: vim-youcompleteme-git r3216.0d855962-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/vim-youcompleteme-git.git (read-only, click to copy) |
---|---|
Package Base: | vim-youcompleteme-git |
Description: | A code-completion engine for Vim |
Upstream URL: | https://ycm-core.github.io/YouCompleteMe/ |
Keywords: | completion engine neovim vim ycm |
Licenses: | GPL3 |
Groups: | vim-plugins |
Submitter: | thestinger |
Maintainer: | artafinde |
Last Packager: | artafinde |
Votes: | 170 |
Popularity: | 0.46 |
First Submitted: | 2013-02-05 21:32 (UTC) |
Last Updated: | 2024-08-19 15:53 (UTC) |
Dependencies (19)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR)
- python (python37AUR, python311AUR, python310AUR)
- python-bottle
- python-watchdog (python-watchdog-gitAUR)
- vim (neovim-drop-inAUR, neovim-symlinksAUR, vim-cli-gitAUR, gvim-wayland-lilydjwg-gitAUR, vim-gitAUR, gvim-gtk2AUR, gvim)
- cmake (cmake-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- pybind11 (pybind11-gitAUR) (make)
- abseil-cpp (abseil-cpp-gitAUR) (optional) – if setting _use_system_abseil ON
- gopls (optional) – Go semantic completion
- java-environment (jdk12AUR, jdk10AUR, jdk10-openj9-binAUR, jdk7AUR, amazon-corretto-16AUR, jdk8-graalvm-binAUR, jdk16-graalvm-binAUR, jdk16-adoptopenjdkAUR, liberica-jre-11-binAUR, jdk11-j9-binAUR, jdk11-jbr-xdgAUR, jdk16-openjdkAUR, jdk14-openjdkAUR, jdk18-openjdkAUR, amazon-corretto-19-binAUR, jdk19-graalvm-binAUR, liberica-jre-11-full-binAUR, jdk19-graalvm-ee-binAUR, jdk13-openjdk-binAUR, liberica-jre-8-full-binAUR, jdk11-graalvm-binAUR, jdk-openj9AUR, jdk11-graalvm-ee-binAUR, jdk12-openjdkAUR, jdk11-dragonwell-standard-binAUR, jdk11-jetbrains-binAUR, jdk20-graalvm-binAUR, jdk17-graalvm-binAUR, jdk8-graalvm-ee-binAUR, jdk20-openj9-binAUR, zulu-13-binAUR, jdk8-dragonwell-extended-binAUR, jdk8-dragonwell-standard-binAUR, jdk11-dragonwell-extended-binAUR, jdk17-dragonwell-standard-binAUR, jdk11AUR, jdk8-j9-binAUR, jdk7-j9-binAUR, jdk7r1-j9-binAUR, jdk8-dragonwell-extendedAUR, jdk13-openjdkAUR, jdk15-openjdkAUR, jdk21-graalvm-binAUR, jdk17-jetbrainsAUR, jdk8-openj9-binAUR, jdk-ltsAUR, microsoft-openjdk-11-binAUR, microsoft-openjdk-17-binAUR, microsoft-openjdk-21-binAUR, liberica-nik-24-full-binAUR, jdk21-jetbrains-gitAUR, zulu-17-binAUR, zulu-11-binAUR, zulu-8-binAUR, mandrel-binAUR, mandrel24-binAUR, liberica-jdk-17-full-binAUR, liberica-jdk-11-lite-binAUR, liberica-jdk-11-full-binAUR, liberica-jdk-11-binAUR, jdk17-graalvm-ee-binAUR, jdk21-graalvm-ee-binAUR, jdk22-graalvm-ee-binAUR, jdk20-graalvm-ee-binAUR, jdk22-graalvm-binAUR, jdk19-openjdkAUR, jdk17-jetbrains-binAUR, zulu-jdk-fx-binAUR, jabba-binAUR, jdk21-jetbrainsAUR, jdk17-zulu-prime-binAUR, java-openjdk-binAUR, amazon-corretto-17AUR, amazon-corretto-21-binAUR, jdk21-temurinAUR, amazon-corretto-8AUR, amazon-corretto-11AUR, jdk11-temurinAUR, liberica-jdk-full-binAUR, liberica-jdk-21-full-binAUR, liberica-jdk-8-full-binAUR, jdk17-temurinAUR, jdk8-temurinAUR, zulu-21-binAUR, jdk-temurinAUR, jdk8AUR, zulu-17-fx-binAUR, jdk8-perfAUR, zulu-fx-binAUR, zulu8-fx-binAUR, zulu11-fx-binAUR, zulu17-fx-binAUR, zulu21-fx-binAUR, jdk-openj9-binAUR, jdk11-openj9-binAUR, jre-jetbrainsAUR, jdk-openjdk-wakefieldAUR, jdk21-openj9-binAUR, zulu-23-binAUR, jdkAUR, jre-zulu-binAUR, jre-zulu-fx-binAUR, jdk21-dragonwell-standard-binAUR, jdk21-dragonwell-extended-binAUR, jdk-android-studioAUR, jdk17-openj9-binAUR, jdk23-graalvm-ee-binAUR, zing-8-binAUR, zing-21-binAUR, java-openjdk-ea-binAUR, jdk21-jetbrains-binAUR, jdk-openjdk, jdk11-openjdk, jdk17-openjdk, jdk21-openjdk, jdk8-openjdk) (optional) – Java semantic completion
- jdtlsAUR (optional) – Java semantic completion
- nodejs-ternAUR (optional) – JavaScript semantic completion
- omnisharp-roslynAUR (omnisharp-roslyn-bundledAUR, omnisharp-roslyn-binAUR) (optional) – C# semantic completion
- python-jedi (optional) – Python semantic completion
- python-numpydoc (optional) – Python semantic completion
- python-regex (python-regex-gitAUR) (optional) – Better Unicode support
- rust-analyzer (rust-analyzer-gitAUR, rust-analyzer-nightly-binAUR, rustup-gitAUR, rustup) (optional) – Rust semantic completion
- typescript (typescript-gitAUR) (optional) – Typescript semantic completion
Required by (0)
Sources (2)
Latest Comments
« First ‹ Previous 1 .. 12 13 14 15 16 17 18 19 20 21 22 .. 53 Next › Last »
artafinde commented on 2018-10-30 07:39 (UTC)
Rubonnek commented on 2018-10-30 00:20 (UTC)
@artafinde you have to delete the cached files. python2 bytecode is incompatible with python3. No wonder you had to turn on the python2 interpreter.
Your issue is no different then.
artafinde commented on 2018-10-29 23:21 (UTC)
@lahwaacz: rogue files: https://ptpb.pw/EpIR
lahwaacz commented on 2018-10-29 23:05 (UTC)
@artafinde Could you show us the output of this command? (adapted from the wiki)
comm -23 <(find /usr/share/vim/vimfiles | sort) <(pacman -Qlq | sed 's|/$||' | sort)
Also, you did not say if you deleted any of the python bytecode files or even whether pacman complained about it.
artafinde commented on 2018-10-29 22:54 (UTC) (edited on 2018-10-29 23:07 (UTC) by artafinde)
@Rubonnek: Might as well be different indeed. The log files empty and the timestamp pyc files are not there. I've tried running without .vimrc and same crash with empty log.
strace without .vimrc
file: https://ptpb.pw/3mP7
Found a workaround for now. Compiled with _use_system_clang="OFF"
and _use_python2="ON"
. Changed the g:ycm_server_python_interpreter
to python2
and now it's working.
Edit: no deletions.
Rubonnek commented on 2018-10-29 21:41 (UTC)
@artafinde that chmod command you are running only changes the permissions to the directory, not the files under it which means that other users will not be able to overwrite the files. Add -R before 777 to chmod and let me know if that helps.
To expose what @lahwaacz said more explicitly, adding the python bytecode files (i.e. the cached files) to the package means that pacman will auto-update those python cached files or removed them when they are unneeded. Which also implies that changing the permissions on those files should be unnecessary.
I think your issue could different that what we've seen so far. Are you YCM logs empty too? Did you delete any of the python bytecode files when pacman complained (if it did)? Any chance you could share them if they are not empty? Have you also tried running vim or gvim without a resource file such as ~/.vimrc or ~/.gvimrc?
Please provide as much information as possible including other things you might have tried. Like I previously said, I'm having a hard time reproducing the crashes you guys are experiencing.
artafinde commented on 2018-10-29 19:36 (UTC)
@Rubonnek didn't help on my case. The changes introduced from python 3.7 with PEP-552 is on the way python calculates the byte code to check (see PycInvalidationMode and --invalidation-mode
for compileall
mode) if it needs to update the cache or not. I think that might be irrelevant though to the issue because even if I give permissions to all users after installing the package (using something like sudo find /usr/share/vim/vimfiles/third_party/ycmd/ -type d -name "__pycache__" -exec chmod 777 {} \;
) to write on __pycache__
directories the crash still happens. I have confirmed with strace that the "Permission denied" error is not appearing after the chmod
change but the crash still happens.
For the first part of the cache update I'd look on how the repo python packages deal with cache this and try to implement something similar (if needed).
For the crash to me it's still pending, so I can provide the two strace logs.
One without changes, just build vim-youcompleteme-git and start vim. https://ptpb.pw/nmWO
Second is after I've given permission to all users to write on __pycache__
directories under /usr/share/vim/vimfiles/third_party/ycmd
https://ptpb.pw/c1ys
Rubonnek commented on 2018-10-27 18:49 (UTC)
@lahwaacz you are absolutely right. I honestly forgot that youcompleteme would run as root and generate the python bytecode files where they show up. I thought however that shouldn't cause any issues with python, but I guess I was wrong.
My eyes completely skipped over the "C++ source code" part. I thought you were talking about compiled libraries. We definitely don't need that. Thanks for that too!
@everyone You'll probably get file conflicts when attempting to install this package now if you ran vim as root previously, but only remove the files that pacman complains about and YouCompleteMe should just work.
lahwaacz commented on 2018-10-27 15:53 (UTC)
@Rubonnek They are not found on my system either, I guess Python creates them as temporary files and then renames them to have just the .pyc
suffix. The issue is that the vim-youcompleteme-git package should provide those .pyc
files so that they are properly tracked by pacman. Since they are not packaged, they were created automatically when I run vim as root (because normal users don't have permissions to write in the /usr/share/vim/vimfiles/
tree) and I guess the old .pyc
files from previous versions of vim-youcompleteme-git were causing the crash, because deleting them apparently fixed it.
As for the C++ sources, I don't think that anything in a Python-based plugin depends on them. Since they are installed manually in the PKGBUILD [1] I don't understand how their omission would cause any troubles with building the package.
[1] https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vim-youcompleteme-git#n270
Rubonnek commented on 2018-10-27 15:42 (UTC)
Forgot to point out that those .pyc files with dates attached at the end of the filename cannot be found in my system.
If you are experiencing crashes, please open up an issue at the upstream repository. I don't think it's a packaging issue at all now.
Pinned Comments
artafinde commented on 2021-04-10 13:03 (UTC)
If you want to use system's abseil set the
_use_system_abseil
toON
- default is to download from internet during build.