[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