vala-lang / vala-language-server

Code Intelligence for Vala & Genie
GNU Lesser General Public License v2.1
287 stars 41 forks source link

Installing VLS on Ubuntu 20.04 #264

Closed vendillah closed 1 year ago

vendillah commented 1 year ago

I'm aware that there was no template to ask questions, but hopefully you're still willing to help me out.

I'd like to install VLS on an Ubuntu 20.04 derivative for vscode. The README redirects me to OBS repository, sure. There, opening Ubuntu, are only options listed for xUbuntu and 21.04+. I'm not aware of the implications installing from different flavors and versions, but I remember them being advised against.

Could I get further information on how to install the VLS on my system?

Prince781 commented 1 year ago

VLS is no longer supported on Ubuntu 20.04 due to an outdated Vala. If you still want to use it, you need to first enable the vala-team/daily PPA and then build VLS from source.

vendillah commented 1 year ago

So I ran

add-apt-repository ppa:vala-team/daily.

to get the latest vala, together with sudo apt update and sudo apt upgrade. I then downloaded the (currently) latest release, decompressed it and ran meson -Dprefix=/usr build on it, but it didn't seem to work.

The Meson build system
Version: 0.53.2
Source dir: /home/vendillah/Downloads/vala-language-server-0.48.5
Build dir: /home/vendillah/Downloads/vala-language-server-0.48.5/build
Build type: native build
Project name: vala-language-server
Project version: 0.48.5
C compiler for the host machine: cc (gcc 10.3.0 "cc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0")
C linker for the host machine: cc ld.bfd 2.34
Vala compiler for the host machine: valac (valac 0.56.2.13-541e9)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency libvala-0.58 found: NO (tried pkgconfig)

meson.build:18:0: ERROR: Dependency "libvala-0.58" not found, tried pkgconfig

So I searched for all installed libvala packages (using apt list | grep libvala-), which gave:

libvala-0.48-0/focal,now 0.48.24-0ubuntu1~20.04~valateam0 amd64 [installed,auto-removable]
libvala-0.48-0/focal 0.48.24-0ubuntu1~20.04~valateam0 i386
libvala-0.48-dev/focal 0.48.24-0ubuntu1~20.04~valateam0 amd64
libvala-0.48-dev/focal 0.48.24-0ubuntu1~20.04~valateam0 i386
libvala-0.56-0/focal 0.56.1+git20220701.575c2c46-0ubuntu1~20.04~valateam0 amd64
libvala-0.56-dev/focal 0.56.1+git20220701.575c2c46-0ubuntu1~20.04~valateam0 amd64
libvala-0.58-0/focal,now 0.57.0~git20220828.541e9f2c-0ubuntu1~20.04~valateam0 amd64 [installed,automatic]
libvala-0.58-dev/focal 0.57.0~git20220828.541e9f2c-0ubuntu1~20.04~valateam0 amd64

And I have indeed installed libvala-0.58 but with an additional 0. Then I wondered if the older packages would confuse the meson.build script - as I'm guessing in the wild - and did a sudo apt autoremove which claimed it would remove at least libvala-0.48.0. Searching again for all libvala packages, it still has it listed.

Could you help me out?

Here is the meson log: meson-log.txt

RocketRide9 commented 1 year ago

And I have indeed installed libvala-0.58 but with an additional 0.

I think you need libvala-0.58-dev package

vendillah commented 1 year ago

I think you need libvala-0.58-dev package

I believe that's the last package libvala-0.58-dev/focal that I found running apt list | grep libvala-.

In #263 someone ran

apt install meson valac libjsonrpc-glib-1.0-dev libvala-0.56-dev libgee-0.8-dev scdoc build-essential

I haven't so far. Could it be that? I was waiting for getting clear dependency errors before installing those as I couldn't always find the packages listed at the project's README in my repository.

RocketRide9 commented 1 year ago

I believe that's the last package libvala-0.58-dev/focal that I found running apt list | grep libvala-.

yes, install it and try to compile vls again.

vendillah commented 1 year ago

Aha, I'm an idiot. I forgot I had to pass --installed to apt list so I was assuming I had it installed already and was confused by your answer. So I just did that. Thank you for your patience! I will continue with the installation process.

vendillah commented 1 year ago

The remaining packages I had to install were

sudo apt install libjson-glib-dev
sudo apt install libgee-0.8-dev

Following the README, I ended up with an installation in /usr/bin/vala-language-server and errors highlighted in VSCode (such as "namespace Gtk could not be found"), even though I'm able to compile and run the very basic (10 lines) program. I've tried setting up a few files (that contain warnings) just like the answer to this question, but it didn't resolve them.

I'm not sure where to find help for that problem, so it would be nice to be redirected towards people that know. Else, this issue be closed.

RocketRide9 commented 1 year ago

I'm not sure where to find help for that problem, so it would be nice to be redirected towards people that know. Else, this issue be closed.

https://github.com/vala-lang/vala-language-server/issues/161#issuecomment-707245853

vendillah commented 1 year ago

Thanks; it seems clarifying.