[LLVMdev] build failure on mingw gcc 4.9.1
Mueller-Roemer, Johannes Sebastian
Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de
Tue Jan 27 02:02:06 PST 2015
Adding -D__MSVCRT_VERSION__=0x900 (or higher) to CMAKE_CXX_FLAGS and -lmsvcr90 (or higher) to CMAKE_CXX_STANDARD_LIBRARIES appears to work. -lmsvcrt80 does not work, contrary to the comment on the MinGW bug tracker. However, if you do not have the runtimes installed, errors will occur later on in the build process, such as:
[215/1199] Building Intrinsics.gen...
FAILED: cmd.exe /c cd D:\Slave\llvm-mingw\buildMinGW\include\llvm\IR && D:\Slave\llvm-mingw\buildMinGW\bin\llvm-tblgen.exe -gen-intrinsic -I D:/Slave/llvm-mingw/build/include/llvm/IR -I D:/Slave/llvm-mingw/build/lib/Target -I D:/Slave/llvm-mingw/build/include D:/Slave/llvm-mingw/build/include/llvm/IR/Intrinsics.td -o D:/Slave/llvm-mingw/buildMinGW/include/llvm/IR/Intrinsics.gen.tmp
As I do not have administrative privileges on the machine, I switched to MSVCRT100, as those runtimes were already installed. Which leads me to the question: Should the exact MSVCRT version be selectable or should the lowest version necessary (9.0) be used?
--
Johannes S. Mueller-Roemer, MSc
Wiss. Mitarbeiter - Interactive Engineering Technologies (IET)
Fraunhofer-Institut für Graphische Datenverarbeitung IGD
Fraunhoferstr. 5 | 64283 Darmstadt | Germany
Tel +49 6151 155-606 | Fax +49 6151 155-139
johannes.mueller-roemer at igd.fraunhofer.de | www.igd.fraunhofer.de
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Mueller-Roemer, Johannes Sebastian
Sent: Tuesday, January 27, 2015 09:56
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] build failure on mingw gcc 4.9.1
I encountered a new build failure (r227128) on my nightly build of LLVM for MinGW:
FAILED: cmd.exe /c cd . && D:\MinGW\x86_64-4.9.1-release-posix-seh-rt_v3-rev0\mingw64\bin\c++.exe -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wno-comment -std=gnu++11 -g utils/not/CMakeFiles/not.dir/not.cpp.obj -o bin/not.exe -Wl,--major-image-version,0,--minor-image-version,0 lib/libLLVMSupportD.a -limagehlp -lpsapi -lshell32 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd .
lib/libLLVMSupportD.a(Signals.cpp.obj): In function `llvm::sys::PrintStackTraceOnErrorSignal()':
D:/Slave/llvm-mingw/build/lib/Support/Windows/Signals.inc:284: undefined reference to `__imp__set_abort_behavior'
D:/Slave/llvm-mingw/build/lib/Support/Windows/Signals.inc:286: undefined reference to `__imp__set_abort_behavior'
collect2.exe: error: ld returned 1 exit status
So, _set_abort_behavior is not found. This should be solvable by specifying a newer MSVCRT version (see http://sourceforge.net/p/mingw/support-requests/153/ ). I'll try it, and if it works, could we add that to the CMakeLists?
--
Johannes S. Mueller-Roemer, MSc
Wiss. Mitarbeiter - Interactive Engineering Technologies (IET)
Fraunhofer-Institut für Graphische Datenverarbeitung IGD
Fraunhoferstr. 5 | 64283 Darmstadt | Germany
Tel +49 6151 155-606 | Fax +49 6151 155-139
johannes.mueller-roemer at igd.fraunhofer.de<mailto:johannes.mueller-roemer at igd.fraunhofer.de> | www.igd.fraunhofer.de<http://www.igd.fraunhofer.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150127/8341c775/attachment.html>
More information about the llvm-dev
mailing list