Compile error of latest Dragonegg on Ubuntu with GCC 4.5

Hi,
When I tried to compile Dragonegg using the SVN trunk code,
I encountered failure with error message:

In file included from /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/plugin/include/rtl.h:28:0,
from /home/xxx/llvm/dragonegg/src/Convert.cpp:63:
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/plugin/include/real.h:27:18: fatal error: mpfr.h: No such file or directory

I did some search but found few relevant results.
Any idea what’s going on?
OS: Ubuntu 11.04.
GCC:4.5.2.
gcc-4.5-plugin-dev is installed.
Thanks in advance!

/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/plugin/include/real.h:27:18:
fatal error: mpfr.h: No such file or directory

I did some search but found few relevant results.
Any idea what's going on?

Do you have MPFR installed?

Yest. thanks. I just resolved this error by installing MPFR, MPC and GMP(by the way, these are not listed
as prerequisites in the website.). But other errors come:

/home/xxx/llvm/tools/dragonegg/src/TypeConversion.cpp: In function ‘llvm::FunctionType* ConvertArgListToFnType(tree_node*, llvm::ArrayRef<tree_node*>, tree_node*, bool, llvm::CallingConv::ID&, llvm::AttrListPtr&)’:
/home/xxx/llvm/tools/dragonegg/src/TypeConversion.cpp:731:31: error: no matching function for call to ‘llvm::AttrListPtr::get(llvm::SmallVector<llvm::AttributeWithIndex, 8u>&)’
/home/xxx/llvm/include/llvm/Attributes.h:272:22: note: candidate is: static llvm::AttrListPtr llvm::AttrListPtr::get(const llvm::AttributeWithIndex*, unsigned int)
/home/xxx/llvm/tools/dragonegg/src/TypeConversion.cpp: In function ‘llvm::FunctionType* ConvertFunctionType(tree_node*, tree_node*, tree_node*, llvm::CallingConv::ID&, llvm::AttrListPtr&)’:
/home/xxx/llvm/tools/dragonegg/src/TypeConversion.cpp:906:31: error: no matching function for call to ‘llvm::AttrListPtr::get(llvm::SmallVector<llvm::AttributeWithIndex, 8u>&)’
/home/xxx/llvm/include/llvm/Attributes.h:272:22: note: candidate is: static llvm::AttrListPtr llvm::AttrListPtr::get(const llvm::AttributeWithIndex*, unsigned int)
make: *** [TypeConversion.o] Error 1

Seems it cannot find the implementation of llvm::AttrListPtr::get.
the layout of my configuration is:

– llvm (SRC_DIR)

–tools

–dragonegg

– llvm-build (OBJ_DIR)

Thanks very much,
Ryan

Hi, this means that your dragonegg and LLVM versions are not in sync.

Ciao, Duncan.