[LLVMdev] Error building with Mingw on Win7

Kevin Kelley kevin at kelleysoft.com
Tue Jun 22 14:38:15 PDT 2010

J. Garrett Morris <jgmorris at cs.pdx.edu> wrote:

> Hello everyone,
> I've run across a problem building LLVM 2.7 with Mingw on Win7.  When
> I try make VERBOSE=1, it churns away happily for a while and then
> produces:
> /c/Perl/bin/perl /c/Programs32/llvm-2.7/utils/GenLibDeps.pl
  -flat /c/Programs32/llvm-2.7/obj/Release/lib "/mingw/bin/nm"
> 'c:' is not recognized as an internal or external command, operable  
> program or batch file.
> nm failed at c:/Programs32/llvm-2.7/utils/GenLibDeps.pl line 232.
> Out of curiousity, I added to the GenLibDeps.pl error message, and
> discovered that it thought nm was failing on
> c:/Programs32/llvm-2.7/obj/Release/lib/libLLVMARMAsmParser.a
> However, I can't manage to reproduce the failure by hand:
> /mingw/bin/nm  
> c:/Programs32/llvm-2.7/obj/Release/lib/libLLVMARMAsmParser.a |
> sed -e 's/^[ 0]* U //' | sort | uniq
> produces sensible looking output, and
> /mingw/bin/nm  
> c:/Programs32/llvm-2.7/obj/Release/lib/libLLVMARMAsmParser.a |
> sed -e 's/^[ 0]* U //' | sort | uniq | grep "c:"
> finds nothing.  I'm not much of a Perl and/or Makefile hacker, so I'm
> not sure where to go next.  Has anyone seen this before?

I've seen this -- I think.  The problem is that somewhere, maybe it was in  
there are sed substitutions that use ':' as the separator -- so, when a  
path is
encountered that includes the 'c:' prefix, it chokes.

Not knowing where that absolute path was coming from, I hacked around it
by searching $(LLVM_ROOT)/Makefile.config and changing paths to the  

Using CMake, instead of ./configure, seems to be a bit less error-prone,
at least for me.

Kevin Kelley

More information about the llvm-dev mailing list