Info about Alire:
$ alr toolchain
CRATE VERSION STATUS NOTES
gprbuild 21.0.2 Default
gprbuild 22.0.1 Available
gprbuild 2020.0.0 Available Detected at /usr/bin/gprbuild
gnat_arm_elf 12.2.1 Default
gnat_native 12.2.1 Available
gnat_external 12.2.1 Available Detected at /usr/bin/gnat
$ alr --version
alr 1.2.2
I want to install ada_language_server from Alire, but it refuses to find libgmp, even though the libraries exist:
$ alr get ada_language_server
⚠ Complete solution not found after 5 seconds.
ⓘ The best incomplete solution yet is:
RELEASE DEPENDENCY
adasat=24.0.0-20230126 adasat* (solved)
gnat_arm_elf=12.2.1 gnat(>=2020|(>=11 & <=2000)) & (/=2020) (solved)
gnatcoll=24.0.0-20230126 gnatcoll24.0.0-20230126 (solved)
gnatcoll_bindings=24.0.0-20230126 gnatcoll_bindings* (solved)
gnatdoc=24.0.0-20230126 gnatdoc24.0.0-20230126 (solved)
langkit_support=24.0.0-20230126 langkit_support24.0.0-20230126 (solved)
libadalang=24.0.0-20230126 libadalang24.0.0-20230126 (solved)
libadalang_tools=24.0.0-20230126 libadalang_tools24.0.0-20230126 (solved)
(none) libgmp* (hinted)
libgpr=24.0.0-20230126 libgpr24.0.0-20230126 (solved)
libgpr2=24.0.0-20230126 libgpr224.0.0-20230126 (solved)
markdown=24.0.0-20221229 markdown24.0.0-20221229 (solved)
spawn=1.1.0-20230126 spawn1.1.0-20230126 (solved)
templates_parser=22.0.0 templates_parser* (solved)
vss=24.0.0-20230126 vss(24.0.0-20230126) & (>=24.0.0-20221229) (solved)
xmlada=22.0.0 xmlada~22.0.0 (solved)
Do you want to keep solving for a few more seconds?
[Y] Yes [N] No [A] Always (default is Yes) n
warn:
warn: New solution is incomplete.
warn: + adasat 24.0.0-20230126 (new,indirect)
warn: +♼ gnat 12.2.1 (new,installed,gnat_arm_elf,indirect)
warn: + gnatcoll 24.0.0-20230126 (new)
warn: + gnatcoll_bindings 24.0.0-20230126 (new,indirect)
warn: + gnatdoc 24.0.0-20230126 (new)
warn: + langkit_support 24.0.0-20230126 (new,indirect)
warn: + libadalang 24.0.0-20230126 (new)
warn: + libadalang_tools 24.0.0-20230126 (new)
warn: +↪ libgmp * (new,external,indirect)
warn: + libgpr 24.0.0-20230126 (new,indirect)
warn: + libgpr2 24.0.0-20230126 (new)
warn: + markdown 24.0.0-20221229 (new,indirect)
warn: + spawn 1.1.0-20230126 (new)
warn: + templates_parser 22.0.0 (new,indirect)
warn: + vss 24.0.0-20230126 (new)
warn: + xmlada 22.0.0 (new,indirect)
warn:
warn: Could not find a complete solution for ada_language_server=23.0.13
Build will fail unless externals are made available, do you want to continue?
[Y] Yes [N] No (default is No) n
error: Crate retrieval abandoned.
$ alr index --update-all
Already up to date.
$ # the pkg-config command returns true when I run it standalone!
$ alr show --external libgmp
Kind Description Details Available
System package 4 candidate system packages Debian: libgmp-dev True
Ubuntu: libgmp-dev
Msys2: mingw-w64-x86_64-gmp
Arch: gmp
others: unavailable
Executable pkg-config --modversion gmp ([\d\.]+) False
The description looks suspect because it should have gmp-devel too listed. I believe this is an Alire problem instead of an ALS problem because as far as I'm concerned libgpr2 has the same problem:
$ alr get libgpr2
⚠ Complete solution not found after 5 seconds.
ⓘ The best incomplete solution yet is:
RELEASE DEPENDENCY
adasat=24.0.0-20230126 adasat* (solved)
gnat_arm_elf=12.2.1 gnat(/=2020) & (>=11) (solved)
gnatcoll=24.0.0-20230126 gnatcoll24.0.0-20230126 (solved)
gnatcoll_bindings=24.0.0-20230126 gnatcoll_bindings* (solved)
langkit_support=24.0.0-20230126 langkit_support24.0.0-20230126 (solved)
(none) libgmp* (hinted)
libgpr=24.0.0-20230126 libgpr24.0.0-20230126 (solved)
xmlada=22.0.0 xmlada~22.0.0 (solved)
Do you want to keep solving for a few more seconds?
[Y] Yes [N] No [A] Always (default is Yes)
To prove I have GMP:
$ sudo dnf list installed | grep gmp
gmp.i686 1:6.2.1-3.fc37 @fedora
gmp.x86_64 1:6.2.1-3.fc37 @anaconda
gmp-c++.x86_64 1:6.2.1-3.fc37 @fedora
gmp-devel.x86_64 1:6.2.1-3.fc37 @fedora
gmp-static.x86_64 1:6.2.1-3.fc37 @fedora
gnatcoll-gmp.x86_64 2:21.0.0-9.fc37 @fedora
texlive-gmp.noarch 9:svn21691.1.0-59.fc37 @fedora
I am new to Ada and I would really like to get the tooling to work (just downloading the binary version of ALS isn't gonna cut it if other packages will depend on libgmp too). I suspect it's because Alire doesn't see libgmp because it doesn't have it in its path, but I don't know how I can look for that or if that's even the case (I would find it pretty dubious to not look in /usr/include
). What could I do? And sorry if this issue is trivial, but I wasn't able to find anything similar (the closest IMO is #1312 but that's not quite my situation).
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too