If build hangs, please ensure you have more than 4Gig of RAM+Swap (8+ Gig is recommended).
Search Criteria
Package Details: libadalang 2020-1
Git Clone URL: | https://aur.archlinux.org/libadalang.git (read-only, click to copy) |
---|---|
Package Base: | libadalang |
Description: | A high performance semantic engine for the Ada programming language. |
Upstream URL: | https://github.com/AdaCore/libadalang |
Licenses: | |
Submitter: | charlie5 |
Maintainer: | charlie5 (xiretza) |
Last Packager: | charlie5 |
Votes: | 4 |
Popularity: | 0.007244 |
First Submitted: | 2017-06-05 06:00 |
Last Updated: | 2020-12-22 07:49 |
Dependencies (6)
- gnatcoll-core (gnatcoll-core-git)
- gnatcoll-gmp (gnatcoll-gmp-git)
- gnatcoll-iconv (gnatcoll-iconv-git)
- gprbuild (gprbuild-git) (make)
- python2-setuptools (make)
- python2-virtualenv (make)
Required by (3)
Sources (37)
- https://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz
- https://files.pythonhosted.org/packages/0c/4e/1ea357e7783c756bb579333c1e4a026fb331371ee771f616ffedc781e531/enum-0.4.6.tar.gz
- https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/15/a1/522dccd23e5d2e47aed4b6a16795b8213e3272c7506e625f2425ad025a19/Babel-2.8.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/1a/70/1935c770cb3be6e3a8b78ced23d7e0f3b187f5cbfab4749523ed65d7c9b1/requests-2.23.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/1d/76/d87a9a974b31eb72a243206f06bbdb2098618042c4a862ee5faf7967b05f/yapf-0.16.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/1d/84/405b43b2c15bb61fcbd23416837ca7f18e261c56c64453923725e8160aa6/sphinx_rtd_theme-0.1.9-py2-none-any.whl
- https://files.pythonhosted.org/packages/1e/92/3d3cfd987ff1eea1b669dc525ef6ae8e8bbe9a82a72c4185ee77db84eed1/funcy-1.7.1.tar.gz
- https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/37/38/ceda70135b9144d84884ae2fc5886c6baac4edea39550f28bcd144c1234d/docutils-0.12.tar.gz
- https://files.pythonhosted.org/packages/42/3f/669429ce58de2c22d8d2c542752e137ec4b9885fff398d3eceb1a7f5acb4/pep8-1.7.1-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/4f/a4/879454d49688e2fad93e59d7d4efda580b783c745fd2ec2a3adf87b0808d/pytz-2020.1-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/51/c8/cb8a7f460e215e2de4b7d4d1186e661f0c6f452d146e08cfde68997953cc/e3_core-21.0.0-py2-none-any.whl
- https://files.pythonhosted.org/packages/57/2b/26e37a4b034800c960a00c4e1b3d9ca5d7014e983e6e729e33ea2f36426c/certifi-2020.4.5.1-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/60/ef/7681134338fc097acef8d9b2f8abe0458e4d87559c689a8c306d0957ece5/requests_toolbelt-0.9.1-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/63/2c/0a30c391708f827039be5569164ed039b1e46906a4bff5a348b0abe2945e/Sphinx-1.3.1-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/6f/e9/08fd439384b7e3d613e75a6c8236b8e64d90c47d23413493b38d4229a9a5/enum34-1.1.2.tar.gz
- https://files.pythonhosted.org/packages/75/5e/b84feba55e20f8da46ead76f14a3943c8cb722d40360702b2365b91dec00/PyYAML-3.11.tar.gz
- https://files.pythonhosted.org/packages/7b/58/2675697b6831e6ac4b7b7bc4e5dcdb24a2f39f8411186573eb0de16eb6d5/psutil-3.4.2.tar.gz
- https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/7e/02/ad1a92a72620cc17d448fe4dbdfbdf8fe1487ee7bfd82bb48308712c2f3c/netifaces-0.10.9-cp27-cp27mu-manylinux1_x86_64.whl
- https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/8e/a4/aa56533ecaa5f22ca92428f74e074d0c9337282933c722391902c8f9e0f8/Mako-1.0.1.tar.gz
- https://files.pythonhosted.org/packages/96/ba/aa953a11ec014b23df057ecdbc922fdb40ca8463466b1193f3367d2711a6/pbr-5.4.5-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/ab/42/3ad1c15d88b9b522058d436457a72f1544175b39b00442f4c93980261ff4/ld-0.5.0.tar.gz
- https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/be/39/32da3184734730c0e4d3fa3b2b5872104668ad6dc1b5a73d8e477e5fe967/Pygments-2.5.2-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/c9/40/058b12e8ba10e35f89c9b1fdfc2d4c7f8c05947df2d5eb3c7b258019fda0/tqdm-4.46.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/c9/dc/45cdef1b4d119eb96316b3117e6d5708a08029992b2fee2c143c7a0a5cc5/colorama-0.4.3-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/cc/37/669e64656240d1cbcf375731abc52440ff77ae7184f702aae031e381c8ea/autopep8-1.2.4-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/e1/e5/df302e8017440f111c11cc41a6b432838672f5a70aa29227bf58149dc72f/urllib3-1.25.9-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/e6/49/a35dd566626892d577e426dbe5ea424dd7fbe10645f2c1070dcba474eca9/stevedore-1.32.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
- https://files.pythonhosted.org/packages/fb/40/f3adb7cf24a8012813c5edb20329eb22d5d8e2a0ecf73d21d6b85865da11/MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
- langkit-2020-20200429-19994-src.tar.gz
- libadalang-2020-20200429-19982-src.tar.gz
charlie5 commented on 2020-11-16 08:53
xiretza commented on 2020-06-27 11:24
@tfl5034 - yeah, that was my conclusion as well, see also my rejected PR here (which also sets a few more -X...
flags): https://github.com/AdaCore/ada_language_server/pull/470
tfl5034 commented on 2020-06-27 11:21
Thanks for the help! Figured the issue out: I had to explicitly set the make variable LIBRARY_TYPE=relocatable
to build and then I had to patch the Makefile to add a variable to a gprbuild
command. https://aur.archlinux.org/packages/ada_language_server/
pmderodat commented on 2020-06-16 09:47
Hello,
There’s a known bug somewhere between GCC and GPRbuild: one one hand some Linux distros (ArchLinux and Ubuntu at least) configure GCC to automatically pass -pie
when linking, and on the other hand, for GPRbuild passes the -r
option to do a partial link when building standalone libraries in static mode (and Libadalang is a a standalone library).
Since -r
and -pie
are mutually incompatible, building Libadalang in static mode does not work on such distros. This is what I have documented in the libadalang-git package, and very likely why this package does not build LAL in static mode.
Now, if I understand correctly, ArchLinux packages should contain dynamically linked programs (to save disk space, avoid rebuilds on dependency update, …). So shouldn’t ada_language_server be built in dynamic mode, working around this static link issue?
If that helps, I’m also available on IRC (pmderodat@freenode, on #ada) :-)
xiretza commented on 2020-06-14 21:41
@tfl5034: ah, I get it now! That's a weird one. Most of the Ada packages are built in three versions - static
, static-pic
and relocatable
. Picking out xmlada_dom
as a random example, the xmlada PKGBUILD builds both a usr/lib/xmlada/xmlada_dom.static/libxmlada_dom.a
(static
) as well as a usr/lib/xmlada/xmlada_dom.relocatable/libxmlada_dom.so
(relocatable
), so I'm really not sure what it's complaining about there.
One thing I noticed in that log is that it's building with -XBUILD_MODE=dev
, might want to use make BUILD_MODE=prod
.
I'd gladly assist with bug hunting (I have some experience now after updating all the AdaCore packages to 2020...), just poke me on IRC (lambda@freenode) if you want.
tfl5034 commented on 2020-06-14 20:43
@xiretza I wanted to clarify that this is not necessarily an issue building your libadalang package. It builds and installs fine. What I want to do is leverage this package to build ada_language_server version 21.0.11. I am creating a PKGBUILD for ada_language_server and it fails on the build step when executing make
. The error is as follows:
==> Extracting sources...
-> Extracting 21.0.11.tar.gz with bsdtar
==> Starting build()...
gprbuild -j0 -P gnat/spawn_tests.gpr -p -XBUILD_MODE=dev -XOS=unix
Setup
[mkdir] object directory for project Spawn
[mkdir] object directory for project Spawn_Tests
Compile
[Ada] spawn_test.adb
[c] posix_const.c
[Ada] spawn.ads
[Ada] spawn-processes__posix.adb
[Ada] spawn-processes-monitor_loop.adb
[Ada] spawn-string_vectors.ads
[Ada] spawn-processes-monitor__posix.adb
[Ada] spawn-posix.ads
[Ada] spawn-environments.adb
[Ada] spawn-internal__posix.adb
[Ada] spawn-environments-internal__posix.adb
Bind
[gprbind] spawn_test.bexch
[Ada] spawn_test.ali
Link
[archive] libspawn_tests.a
[index] libspawn_tests.a
[link] spawn_test.adb
gprbuild -j0 -P gnat/tester.gpr -p -XBUILD_MODE=dev -XOS=unix
Setup
[mkdir] object directory for project LSP
[mkdir] object directory for project LSP_Client
[mkdir] object directory for project Tester
Compile
[Ada] tester-run.adb
[Ada] tester.ads
[Ada] tester-macros.adb
[Ada] tester-tests.adb
[Ada] uris.adb
[Ada] lsp.ads
[Ada] lsp-raw_clients.adb
Bind
[gprbind] tester-run.bexch
[Ada] tester-run.ali
Link
[archive] libtester.a
[index] libtester.a
[link] tester-run.adb
gprbuild -j0 -d -ws -c -u -P gnat/lsp_server.gpr -p -XBUILD_MODE=dev -XOS=unix s-memory.adb
Setup
[mkdir] object directory for project LSP_Server
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "gnatcoll_gmp"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "gnatcoll"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "xmlada_dom"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "xmlada_input"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "xmlada_unicode"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "xmlada_sax"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "xmlada_schema"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "gpr"
libadalang.gpr:14:17: shared library project "libadalang" cannot import static library project "gnatcoll_iconv"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "gnatcoll"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "xmlada_dom"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "xmlada_input"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "xmlada_unicode"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "xmlada_sax"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "xmlada_schema"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "gpr"
langkit_support.gpr:12:17: shared library project "langkit_support" cannot import static library project "gnatcoll_iconv"
gprbuild: "gnat/lsp_server.gpr" processing failed
make: *** [Makefile:72: all] Error 4
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /home/tim/.cache/clean-chroot-manager/tim/build
xiretza commented on 2020-06-14 12:16
@tfl5034: please post the error you get when building the actual package, without messing around in the sources yourself. FWIW it builds fine in a clean chroot here.
tfl5034 commented on 2020-06-14 11:27
I'm getting an error when using this package to compile ada_language_server. The error is that libadalang is compiled as a shared project while seemingly every other dependency of ada_language_server is static. I tried adding --library-type static
to all the ada/manage.py
commands, but got the following linking error. Got any idea on a fix?
/usr/bin/ld: -r and -pie may not be used together
collect2: error: ld returned 1 exit status
gprlib: call to linker driver /usr/bin/gcc failed
gprbuild: raised CONSTRAINT_ERROR : gprbuild-post_compile.adb:1113 range check failed
0x5559284879cd
0x55592849f0fa
0x5559284a5e72
0x5559284aedc2
0x5559284aff5d
0x55592840a284
0x5559283f8319
[/usr/lib/libc.so.6]
0x7fb71dc2e000
0x5559283f838c
0xfffffffffffffffe
Build failed: error while running gprbuild -p -j16 -P/home/tim/.cache/yay/libadalang/src/libadalang-2020-20200429-19982-src/build/lib/gnat/libadalang.gpr -XBUILD_MODE=prod -XLIBRARY_TYPE=static -XGPR_BUILD=static -XXMLADA_BUILD=static -XLIBADALANG_WARNINGS=true -R -cargs -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -largs -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -gargs:
Command '['gprbuild', '-p', '-j16', '-P/home/tim/.cache/yay/libadalang/src/libadalang-2020-20200429-19982-src/build/lib/gnat/libadalang.gpr', '-XBUILD_MODE=prod', '-XLIBRARY_TYPE=static', '-XGPR_BUILD=static', '-XXMLADA_BUILD=static', '-XLIBADALANG_WARNINGS=true', '-R', '-cargs', '-march=x86-64', '-mtune=generic', '-O2', '-pipe', '-fno-plt', '-largs', '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now', '-gargs']' returned non-zero exit status 4
==> ERROR: A failure occurred in build().
Aborting...
krouziciorel commented on 2020-06-11 08:47
Thank you very much for the quick answer, I would like to wait a few days to update the gnatcoll-iconv package, so far I can use eg VSCode with ADA extension.
xiretza commented on 2020-06-10 21:43
@krouziciorel: as the error says, files from gnatcoll-iconv
and libadalang
were compiled with different GNAT/compiler versions - you probably have to rebuild gnatcoll-iconv
. You can either do that manually right now or wait a few days for a TU to accept the open merge request into gnatcoll-bindings
, at which point I'll bump the pkgrel and your AUR helper will presumably update it anyway.
Pinned Comments
charlie5 commented on 2020-11-16 08:53
If build hangs, please ensure you have more than 4Gig of RAM+Swap (8+ Gig is recommended).