Package Base Details: llvm-minimal-git

Git Clone URL: https://aur.archlinux.org/llvm-minimal-git.git (read-only, click to copy)
Submitter: Lone_Wolf
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 5
Popularity: 0.69
First Submitted: 2019-05-14 19:32 (UTC)
Last Updated: 2024-04-18 22:06 (UTC)

Pinned Comments

Lone_Wolf commented on 2022-11-02 11:39 (UTC)

During building you may encounter lots of coredumps, slowing build down or even dramatically reducing the responsiveness of your system.

See https://wiki.archlinux.org/title/Core_dump for solutions/workarounds .

Lone_Wolf commented on 2020-08-22 12:30 (UTC) (edited on 2020-08-22 12:31 (UTC) by Lone_Wolf)

Archlinux currently has 3 llvm git implementations

  1. this package

    • see other pinned comments for details
  2. llvm-git

    • It aims to provide a full llvm/clang compiler environment for development purposes.
    • Supports cross-compiling , bindings for external stuff (python, ocaml etc) , and some things not in extra-llvm.
    • intended to be used with archlinux core,extra & community repos
    • CONFLICTS with extra llvm/clang packages
    • binary versions in chaotic aur unofficial repository
  3. packages created & maintained by Lordheavy, an arch developer

    • intended to be used with archlinux testing repos
    • sometimes has problems on systems where testing repos are disabled
    • uses same package structure as llvm/clang in official repos
    • source
    • binary versions in LordHeavys unoffical repo

Lone_Wolf commented on 2019-08-25 12:39 (UTC) (edited on 2021-01-30 21:15 (UTC) by Lone_Wolf)

Why does this package exist ?

Llvm & aur llvm-git are intended to provide a full development environment of llvm/clang suite that can replace eachother completely (aur llvm-git adds some xtra functionality)

llvm-minimal-git is a stripped-down llvm trunk build with these goals :

  • llvm-libs-minimal-git must coexist with stable llvm-libs
  • provide what's needed for mesa trunk (it's a hard dependency for mesa-minimal-git and a possible dependeny for mesa-git)
  • provide basic llvm/clang compiler functionality on x86-64 architecture

Some of the things that are stripped out :

  • cross-compiling support
  • bindings for ocaml
  • bindings for go
  • lld , lldb and polly
  • documentation
  • examples
  • benchmarks

Maintainers (and users) should only depend on llvm-miminal-git after verifying it satisfies what they need.

Lone_Wolf commented on 2019-08-21 13:51 (UTC) (edited on 2024-02-24 20:50 (UTC) by Lone_Wolf)

When building this you are likely to see test failures in terminal output / logs.

The command used for the tests has been changed to continue regardless of failures. Incase you don't want to run the tests you can use --nocheck option of makepkg.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 Next › Last »

yurikoles commented on 2020-03-13 12:13 (UTC)

@Strunkenbold

Please always do export LC_ALL=C to get English logs :)

Strunkenbold commented on 2020-03-13 12:11 (UTC)

Cant compile this anymore for some weeks already. I disabled now the building of tests in the PKGBUILD. Dont know why we build those anyway when we disable the check for tests. Hope, I didnt break something.

Here is the compile error:

In Datei, eingebunden von /usr/include/libxml2/../clang-tidy/utils/../ClangTidyCheck.h:12, von /usr/include/libxml2/../clang-tidy/utils/../ClangTidy.h:12, von /usr/include/libxml2/../clang-tidy/utils/IncludeSorter.h:12, von /usr/include/libxml2/../clang-tidy/utils/IncludeInserter.h:12, von /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp:9: /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h: In Elementfunktion »void clang::tidy::ClangTidyContext::setCurrentBuildDirectory(llvm::StringRef)«: /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:157:29: Fehler: no match for »operator=« (operand types are »std::string« {aka »std::__cxx11::basic_string<char>«} and »llvm::StringRef«) 157 | CurrentBuildDirectory = BuildDirectory; | ^~~~~~~~~~~~~~ In Datei, eingebunden von /usr/include/c++/9.3.0/string:55, von /usr/include/c++/9.3.0/stdexcept:39, von /usr/include/c++/9.3.0/array:39, von /usr/include/c++/9.3.0/tuple:39, von /usr/include/c++/9.3.0/bits/unique_ptr.h:37, von /usr/include/c++/9.3.0/memory:80, von /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/llvm/include/llvm/ADT/Optional.h:22, von /usr/include/libxml2/../clang-tidy/utils/../ClangTidyOptions.h:13, von /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:12, von /usr/include/libxml2/../clang-tidy/utils/../ClangTidyCheck.h:12, von /usr/include/libxml2/../clang-tidy/utils/../ClangTidy.h:12, von /usr/include/libxml2/../clang-tidy/utils/IncludeSorter.h:12, von /usr/include/libxml2/../clang-tidy/utils/IncludeInserter.h:12, von /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp:9: /usr/include/c++/9.3.0/bits/basic_string.h:665:7: Anmerkung: candidate: »std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [mit _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]« 665 | operator=(const basic_string& __str) | ^~~~~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:665:37: Anmerkung: keine bekannte Umwandlung für Argument 1 von »llvm::StringRef« nach »const std::__cxx11::basic_string<char>&« 665 | operator=(const basic_string& __str) | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:704:7: Anmerkung: candidate: »std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT) [mit _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]« 704 | operator=(const _CharT __s) | ^~~~~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:704:31: Anmerkung: keine bekannte Umwandlung für Argument 1 von »llvm::StringRef« nach »const char« 704 | operator=(const _CharT __s) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/9.3.0/bits/basic_string.h:715:7: Anmerkung: candidate: »std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [mit _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]« 715 | operator=(_CharT __c) | ^~~~~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:715:24: Anmerkung: keine bekannte Umwandlung für Argument 1 von »llvm::StringRef« nach »char« 715 | operator=(_CharT __c) | ~~~~~~~^~~ /usr/include/c++/9.3.0/bits/basic_string.h:732:7: Anmerkung: candidate: »std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [mit _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]« 732 | operator=(basic_string&& __str) | ^~~~~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:732:32: Anmerkung: keine bekannte Umwandlung für Argument 1 von »llvm::StringRef« nach »std::__cxx11::basic_string<char>&&« 732 | operator=(basic_string&& __str) | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:795:7: Anmerkung: candidate: »std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::initializer_list<_Tp>) [mit _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]« 795 | operator=(initializer_list<_CharT> __l) | ^~~~~~~~ /usr/include/c++/9.3.0/bits/basic_string.h:795:42: Anmerkung: keine bekannte Umwandlung für Argument 1 von »llvm::StringRef« nach »std::initializer_list<char>« 795 | operator=(initializer_list<_CharT> __l) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In Datei, eingebunden von /usr/include/libxml2/../clang-tidy/utils/../ClangTidyCheck.h:12, von /usr/include/libxml2/../clang-tidy/utils/../ClangTidy.h:12, von /usr/include/libxml2/../clang-tidy/utils/IncludeSorter.h:12, von /usr/include/libxml2/../clang-tidy/utils/IncludeInserter.h:12, von /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp:9: /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h: Im globalen Gültigkeitsbereich: /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:250:9: Fehler: »Regex« in Namensbereich »llvm« bezeichnet keinen Typ 250 | llvm::Regex *getHeaderFilter(); | ^~~~~ /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:263:25: Fehler: »Regex« ist kein Element von »llvm« 263 | std::unique_ptr<llvm::Regex> HeaderFilter; | ^~~~~ /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:263:25: Fehler: »Regex« ist kein Element von »llvm« /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:263:30: Fehler: Templateargument 1 ist ungültig 263 | std::unique_ptr<llvm::Regex> HeaderFilter; | ^ /usr/include/libxml2/../clang-tidy/utils/../ClangTidyDiagnosticConsumer.h:263:30: Fehler: Templateargument 2 ist ungültig In Datei, eingebunden von /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp:12: /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h: In Elementfunktion »std::unique_ptr<clang::ASTConsumer> clang::tidy::test::TestClangTidyAction<CheckTypes>::CreateASTConsumer(clang::CompilerInstance&, llvm::StringRef)«: /home/greg/Source/debug_builds/llvm-minimal-git/src/llvm-project/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h:70:19: Fehler: »class clang::tidy::ClangTidyCheck« hat kein Element namens »isLanguageVersionSupported« 70 | if (!Check->isLanguageVersionSupported(Context.getLangOpts())) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [4379/5655] Building CXX object tools/clang/tools/extra/unittests/clang-tidy/CMakeFiles/ClangTidyTests.dir/OverlappingReplacementsTest.cpp.o ninja: build stopped: subcommand failed. ==> FEHLER: Ein Fehler geschah in build(). Breche ab...

nstgc commented on 2020-03-05 17:45 (UTC)

@Lone_Wolf I can confirm on my machine pacman -Rdd python-yaml will allow this to build properly.

Lone_Wolf commented on 2019-09-28 11:49 (UTC) (edited on 2019-09-28 11:51 (UTC) by Lone_Wolf)

Because I was lying to pacman with those provides.

Programs that require repo llvm/compiler-rt/clang will fail if llvm-minimal-git is present.

Only those programs that depend on llvm-libs or llvm-libs-minimal-git will keep working. mesa-git only needs llvm-minimal-git at build time, at runtime all it needs is llvm-libs-minimal-git .

remove llvm/compiler-rt/clang before building and everything will work.

To avoid similar problems in the future, build in a clean chroot or use makepkg -Crs to automatically remove what -s added after building.

Terence commented on 2019-09-27 16:32 (UTC)

Why did it stop providing compiler-rt and clang? Building mesa-git gives me :: compiler-rt and llvm-minimal-git are in conflict. Remove llvm-minimal-git?

Terence commented on 2019-08-25 13:12 (UTC) (edited on 2019-08-25 13:12 (UTC) by Terence)

Thank you very much for the explanation @Lone_wolf Maybe pin it in case someone asks the same question? Edit: nevermind you already did it.

Lone_Wolf commented on 2019-08-25 12:39 (UTC) (edited on 2021-01-30 21:15 (UTC) by Lone_Wolf)

Why does this package exist ?

Llvm & aur llvm-git are intended to provide a full development environment of llvm/clang suite that can replace eachother completely (aur llvm-git adds some xtra functionality)

llvm-minimal-git is a stripped-down llvm trunk build with these goals :

  • llvm-libs-minimal-git must coexist with stable llvm-libs
  • provide what's needed for mesa trunk (it's a hard dependency for mesa-minimal-git and a possible dependeny for mesa-git)
  • provide basic llvm/clang compiler functionality on x86-64 architecture

Some of the things that are stripped out :

  • cross-compiling support
  • bindings for ocaml
  • bindings for go
  • lld , lldb and polly
  • documentation
  • examples
  • benchmarks

Maintainers (and users) should only depend on llvm-miminal-git after verifying it satisfies what they need.

Terence commented on 2019-08-24 15:29 (UTC)

This package doesn't provide llvm-git which is the name most packages depends on. Is it expected?

Lone_Wolf commented on 2019-08-21 13:51 (UTC) (edited on 2024-02-24 20:50 (UTC) by Lone_Wolf)

When building this you are likely to see test failures in terminal output / logs.

The command used for the tests has been changed to continue regardless of failures. Incase you don't want to run the tests you can use --nocheck option of makepkg.

yurikoles commented on 2019-08-12 09:26 (UTC)

@Faalagorn please examine instructions in llvm-git sticky message.