Package Details: mingw-w64-llvm 17.0.6-1

Git Clone URL: https://aur.archlinux.org/mingw-w64-llvm.git (read-only, click to copy)
Package Base: mingw-w64-llvm
Description: Collection of modular and reusable compiler and toolchain technologies (mingw-w64)
Upstream URL: http://llvm.org/
Licenses: custom:Apache 2.0 with LLVM Exception
Submitter: xantares
Maintainer: xantares
Last Packager: xantares
Votes: 4
Popularity: 0.022875
First Submitted: 2018-02-22 21:22 (UTC)
Last Updated: 2024-03-08 23:09 (UTC)

Latest Comments

mati865 commented on 2020-08-03 09:10 (UTC)

@Terence just use lld from the main repo. All LLVM tools are cross compilers, example command to use MinGW driver of lld: ld.lld -m i386pep --help.

Terence commented on 2020-05-10 11:35 (UTC)

Is it possible to include lld to this package? Otherwise where could I get it?

teohhanhui commented on 2020-01-02 14:16 (UTC)

I have BUILDDIR=/tmp/makepkg. I guess the compilation itself must be very memory and/or storage hungry lol

https://twitter.com/teohhanhui/status/1212738936956760064

xantares commented on 2019-12-31 18:03 (UTC)

maybe your disk is full :)

teohhanhui commented on 2019-12-31 16:07 (UTC)

Not sure what's causing this failure... Could be something on my end?

[ 89%] Linking CXX shared library ../../bin/LLVMCodeGen.dll
collect2: error: ld returned 1 exit status
make[2]: *** [lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/build.make:2721: bin/LLVMCodeGen.dll] Error 1
make[1]: *** [CMakeFiles/Makefile2:3176: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

maxmitti commented on 2018-11-28 14:23 (UTC)

This doesn't build for me without mingw-w64-python.

pingplug commented on 2018-10-08 00:16 (UTC)

==> Starting package()...
rm: cannot remove '/home/makepkg/mingw-w64-llvm/pkg/mingw-w64-llvm/usr/i686-w64-mingw32/share': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...

Ravenclaw commented on 2018-07-10 13:30 (UTC) (edited on 2018-07-11 11:44 (UTC) by Ravenclaw)

Building mingw-w64-llvm using the current llvm-svn failed with following message:

[ 13%] Built target obj.llvm-tblgen
Scanning dependencies of target llvm-tblgen
[ 13%] Linking CXX executable ../../bin/llvm-tblgen.exe
[ 13%] Built target llvm-tblgen
Scanning dependencies of target AttributeCompatFuncTableGen
[ 13%] Building AttributesCompatFunc.inc...
[ 13%] Updating AttributesCompatFunc.inc...
[ 13%] Built target AttributeCompatFuncTableGen
Scanning dependencies of target intrinsics_gen
[ 13%] Building Attributes.gen...
[ 13%] Updating Attributes.gen...
[ 13%] Building Intrinsics.gen...
llvm-tblgen: Unknown command line argument '-gen-intrinsic'.  Try: '/usr/bin/llvm-tblgen -help'
llvm-tblgen: Did you mean '-gen-instr-info'?
make[2]: *** [include/llvm/IR/CMakeFiles/intrinsics_gen.dir/build.make:160: include/llvm/IR/Intrinsics.gen.tmp] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:885: include/llvm/IR/CMakeFiles/intrinsics_gen.dir/all] Fehler 2
make: *** [Makefile:152: all] Fehler 2
==> FEHLER: Ein Fehler geschah in build().
    Breche ab...
==> FEHLER:Makepkg konnte mingw-w64-llvm nicht erstellen.

Update: After applying following patch:

diff -ura --color src/llvm-6.0.1.src/include/llvm/IR/CMakeLists.txt src.new/llvm-6.0.1.src/include/llvm/IR/CMakeLists.txt
--- src/llvm-6.0.1.src/include/llvm/IR/CMakeLists.txt   2016-09-29 05:35:19.000000000 +0200
+++ src.new/llvm-6.0.1.src/include/llvm/IR/CMakeLists.txt   2018-07-11 13:02:50.827889075 +0200
@@ -2,5 +2,5 @@
 tablegen(LLVM Attributes.gen -gen-attrs)

set(LLVM_TARGET_DEFINITIONS Intrinsics.td) -tablegen(LLVM Intrinsics.gen -gen-intrinsic) +tablegen(LLVM Intrinsics.gen -gen-intrinsic-enums) add_public_tablegen_target(intrinsics_gen)

(see change in llvm svn from "Mon Jun 25 19:40:08 2018 +0000")

compilation failes with:

[ 15%] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.obj
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp: In Funktion »llvm::ArrayRef<const char*=""> findTargetSubtable(llvm::StringRef)«:
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:498:12: Fehler: »IntrinsicTargetInfo« wurde in diesem Gültigkeitsbereich nicht definiert
   ArrayRef<intrinsictargetinfo> Targets(TargetInfos);
            ^~~~~~~~~~~~~~~~~~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:498:12: Anmerkung: empfohlene Alternative: »IntrinsicNameTable«
   ArrayRef<intrinsictargetinfo> Targets(TargetInfos);
            ^~~~~~~~~~~~~~~~~~~
            IntrinsicNameTable
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:498:31: Fehler: Templateargument 1 ist ungültig
   ArrayRef<intrinsictargetinfo> Targets(TargetInfos);
                               ^
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:498:41: Fehler: »TargetInfos« wurde in diesem Gültigkeitsbereich nicht definiert
   ArrayRef<intrinsictargetinfo> Targets(TargetInfos);
                                         ^~~~~~~~~~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:498:41: Anmerkung: empfohlene Alternative: »Targets«
   ArrayRef<intrinsictargetinfo> Targets(TargetInfos);
                                         ^~~~~~~~~~~
                                         Targets
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:502:38: Fehler: Abfrage des Elementes »begin« in »Targets«, das vom Nicht-Klassentyp »int« ist
   auto It = std::lower_bound(Targets.begin(), Targets.end(), Target,
                                      ^~~~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:502:55: Fehler: Abfrage des Elementes »end« in »Targets«, das vom Nicht-Klassentyp »int« ist
   auto It = std::lower_bound(Targets.begin(), Targets.end(), Target,
                                                       ^~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:503:39: Fehler: »IntrinsicTargetInfo« bezeichnet keinen Typ; meinten Sie »IntrinsicNameTable«?
                               { return TI.Name < Target; });
                                                                                ^
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp: In Funktion »llvm::ArrayRef<const char*=""> findTargetSubtable(llvm::StringRef)«:
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:504:80: Fehler: expected »)« before »;« token
                                 StringRef Target) { return TI.Name < Target; });
                                                                                ^
                                                                                )
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:502:29: Anmerkung: andere Fundstelle von »(« ist hier
   auto It = std::lower_bound(Targets.begin(), Targets.end(), Target,
                             ^
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:507:34: Fehler: Abfrage des Elementes »end« in »Targets«, das vom Nicht-Klassentyp »int« ist
   const auto &TI = It != Targets.end() && It->Name == Target ? It : Targets[0];
                                  ^~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:507:79: Fehler: ungültige Typen »int[int]« für Feldindex
   const auto &TI = It != Targets.end() && It->Name == Target ? It : Targets[0];
                                                                               ^
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp: In Funktion »void llvm::Intrinsic::getIntrinsicInfoTableEntries(llvm::Intrinsic::ID, llvm::SmallVectorImpl<llvm::intrinsic::iitdescriptor>&)«:
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:827:23: Fehler: »IIT_Table« wurde in diesem Gültigkeitsbereich nicht definiert
   unsigned TableVal = IIT_Table[id-1];
                       ^~~~~~~~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:827:23: Anmerkung: empfohlene Alternative: »IIT_TOKEN«
   unsigned TableVal = IIT_Table[id-1];
                       ^~~~~~~~~
                       IIT_TOKEN
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:835:18: Fehler: »IIT_LongEncodingTable« wurde in diesem Gültigkeitsbereich nicht definiert
     IITEntries = IIT_LongEncodingTable;
                  ^~~~~~~~~~~~~~~~~~~~~
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp: In Funktion »bool llvm::Intrinsic::isOverloaded(llvm::Intrinsic::ID)«:
/data/tmp/yaourt-tmp-indigo/aur-mingw-w64-llvm/src/llvm-6.0.1.src/lib/IR/Function.cpp:960:1: Warnung: keine return-Anweisung in nicht void zurückgebender Funktion [-Wreturn-type]
 }
 ^
make[2]:  [lib/IR/CMakeFiles/LLVMCore.dir/build.make:316: lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.obj] Fehler 1
make[1]:  [CMakeFiles/Makefile2:1079: lib/IR/CMakeFiles/LLVMCore.dir/all] Fehler 2
make: *** [Makefile:152: all] Fehler 2
==> FEHLER: Ein Fehler geschah in build().
</llvm::intrinsic::iitdescriptor></const></intrinsictargetinfo></intrinsictargetinfo></intrinsictargetinfo></intrinsictargetinfo></intrinsictargetinfo></const>

Looks like there had been changes in llvm-tblgen lately.

xantares commented on 2018-06-11 05:29 (UTC)

It depends, if you use the libs its linux hosts host, mingw target. I've not tried to compile clang as mingw host with it.

pingplug commented on 2018-06-11 02:47 (UTC)

a question: can system llvm build mingw target? if not, what package name should be for linux host? this package is mingw target and mingw host.