[LLVMdev] 2.0-prerelease build errors

Emil Mikulic emil at cs.rmit.edu.au
Thu May 17 01:59:24 PDT 2007

Hi all,

I'm building the LLVM 2.0 pre-release on a brand new FreeBSD 6.2
install.  Without the bison package installed, the build breaks:

$ tar zxf llvm-2.0.tar.gz
$ mkdir objdir
$ cd objdir
$ ../llvm-2.0/configure
$ gmake
gmake[2]: Entering directory `/usr/home/emil/objdir/utils/TableGen'
llvm[2]: Compiling AsmWriterEmitter.cpp for Release build 
llvm[2]: Compiling CallingConvEmitter.cpp for Release build 
llvm[2]: Compiling CodeEmitterGen.cpp for Release build 
llvm[2]: Compiling CodeGenTarget.cpp for Release build 
llvm[2]: Compiling DAGISelEmitter.cpp for Release build 
llvm[2]: Flexing FileLexer.l
llvm[2]: Bison of FileParser.y SKIPPED -- bison not found
llvm[2]: Compiling FileLexer.cpp for Release build 
/usr/home/emil/llvm-2.0/utils/TableGen/FileLexer.l:34:24: FileParser.h: No such file or directory

Is this a packaging issue where FileParser.h was omitted
from the tarball, or does LLVM *need* bison in order to build?

If it's the latter case, then should the configure script error out when
it can't find bison?  e.g. It already errors out quite gracefully if it
can't find GNU Make.

I see the tarball contains a FileParser.h.cvs but not a FileParser.h


With bison installed, the build gets past TableGen but breaks later:
gmake[2]: Entering directory `/usr/home/emil/objdir/tools/opt'
/usr/home/emil/llvm-2.0/Makefile.rules:1021: *** multiple target patterns.  Stop.

This is because $(ProjLibsPaths) contains:
"/usr/home/emil/objdir/Release/bin/llvm-config llvm-config: Perl not
found so llvm-config could not be generated"

Should configure also error out if perl isn't installed?


With both bison and perl installed, the build succeeds.  (phew)


More information about the llvm-dev mailing list