[LLVMdev] Still can't compile backend or frontend on Windows

Matthew Bromberg mattcbro at earthlink.net
Sat Oct 29 20:50:05 PDT 2005


It's a shame this fine tool can't get better installation support for 
Windows.  If it did I suspect it would get a lot more coverage.   After 
5 months or so I still have no way to compile the backend tools let 
alone the C frontend on windows.  I have tried both Cygwin and Mingw so 
far.  MingW is preferrable since distributions of the binaries would not 
require the cygwin.dll.  It would be nice if the full backend binaries 
under windows were available for download. I understand that the VC++ 
build has downloadable binaries somewhere, but it lacks the final 
support for generating executable output (correct me if I'm wrong).

This time I attempted to compile the CVS version, 1.6 in the hope that 
it had better support for Windows as some of the release notes seemed to 
indicate.  I followed the Mingw installation instructions on
http://www.geocities.com/henrik_bach_llvm/

There were a bunch of Warnings during the configure phase involving 
missing utilities such as mmap and ldopen(). When I started make I died 
with the following message:
llvm[1]: Compiling IsNAN.cpp for Debug build
llvm[1]: Compiling PluginLoader.cpp for Debug build
llvm[1]: Compiling SlowOperationInformer.cpp for Debug build
In file included from 
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperation                  
Informer.cpp:19:
D:/Apps/msys/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/unistd.h:13:                  
27: unistd.h: No such file or directory
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp: 
In const                  ructor 
`llvm::SlowOperationInformer::SlowOperationInformer(const std::string&)':
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp:55: 
error                  : `SIGALRM' undeclared (first use this function)
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp:55: 
error                  : (Each undeclared identifier is reported only 
once for each function it appears                   in.)
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp:57: 
error                  : `alarm' undeclared (first use this function)
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp: 
In destr                  uctor 
`llvm::SlowOperationInformer::~SlowOperationInformer()':
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp:69: 
error                  : `alarm' undeclared (first use this function)
D:/Apps/msys/src/llvmobj/../llvm/lib/Support/SlowOperationInformer.cpp:70: 
error                  : `SIGALRM' undeclared (first use this function)
make[1]: *** [/src/llvmobj/lib/Support/Debug/SlowOperationInformer.o] 
Error 1
make[1]: Leaving directory `/src/llvmobj/lib/Support'
make: *** [all] Error 1

(sigh)  I thought operating system specific headers such as unistd.h 
were not supposed to be needed.  Perhaps someone who has successfully 
compiled the backend under Windows using Mingw could point me to the 
binary executables and/or even better some link libraries.




More information about the llvm-dev mailing list