Am Freitag, den 22.06.2012, 23:18 +0200 schrieb Julien Cristau:
> On Fri, Jun 22, 2012 at 22:59:37 +0200, Paul Menzel wrote:
>
> > Well it looks like LLVM compiler is needed and GCC is not enough.
> >
> > $ more configure.ac
> > […]
> > gallium_require_llvm() {
> > if test "x$MESA_LLVM" = x0; then
> > case "$host_cpu" in
> > i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
> > esac
> > fi
> > }
> > […]
>
> Read again. In particular what MESA_LLVM means. Hint: it has nothing
> to do with what compiler is used.
Strange. `dpkg-buildpackage` really aborted with this error. Doing
`aptitude install llvm` which also installed the following packages
[INSTALLIEREN, ABHÄNGIGKEITEN] llvm-3.1:i386
[INSTALLIEREN, ABHÄNGIGKEITEN] llvm-3.1-dev:i386
[INSTALLIEREN, ABHÄNGIGKEITEN] llvm-3.1-runtime:i386
[INSTALLIEREN, ABHÄNGIGKEITEN] llvm-runtime:i386
and executing `dpkg-buildpackage again solved this issue for me.
Looking at the definition of `MESA_LLVM` it checks for `llvm-config`
if test "x$enable_gallium_llvm" = xyes; then
AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
if test "x$LLVM_CONFIG" != xno; then
LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'`
LLVM_CFLAGS=`$LLVM_CONFIG --cppflags|sed -e 's/-DNDEBUG\>//g' -e 's/-pedantic//g'`
LLVM_LIBS="`$LLVM_CONFIG --libs`"
LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
DEFINES="$DEFINES -D__STDC_CONSTANT_MACROS"
MESA_LLVM=1
else
MESA_LLVM=0
fi
else
MESA_LLVM=0
fi
which is only in package `llvm-3.1`.
$ dpkg -S llvm-config
llvm-3.1: /usr/lib/llvm-3.1/bin/llvm-config
llvm-3.1-dev: /usr/lib/llvm-3.1/include/llvm/Config/llvm-config.h
llvm-2.9: /usr/bin/llvm-config-2.9
llvm-2.9-dev: /usr/lib/llvm-2.9/include/llvm/Config/llvm-config.h
llvm-3.1: /usr/share/man/man1/llvm-config-3.1.1.gz
llvm: /usr/share/man/man1/llvm-config.1.gz
llvm-3.1: /usr/bin/llvm-config-3.1
llvm-2.9: /usr/lib/llvm-2.9/bin/llvm-config
llvm: /usr/bin/llvm-config
llvm-2.9: /usr/share/man/man1/llvm-config-2.9.1.gz
In llvm-2.9 it is named llvm-config-2.9.1 and therefore is not picked up
I guess.
$ ls -l /usr/bin/llvm-config
lrwxrwxrwx 1 root root 31 Jun 22 00:25 /usr/bin/llvm-config -> ../lib/llvm-3.1/bin/llvm-config
$ ls -l /usr/lib/llvm-3.1/bin/llvm-config
-rwxr-xr-x 1 root root 237356 Mai 21 14:14 /usr/lib/llvm-3.1/bin/llvm-config
But being a symlink it should have pointed to the 2.9 version before the installation.
$ ls -l /usr/lib/llvm-2.9/bin/llvm-config
-rwxr-xr-x 1 root root 24058 Mai 20 16:39 /usr/lib/llvm-2.9/bin/llvm-config
So I am not sure what went wrong here. One idea might be, that to get
these symlinks is to have `llvm` installed.
$ dpkg -L llvm
/.
/usr
/usr/bin
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/doc
/usr/bin/llvm-extract
/usr/bin/llc
/usr/bin/llvm-link
/usr/bin/llvm-nm
/usr/bin/llvm-dis
/usr/bin/llvm-bcanalyzer
/usr/bin/llvm-ld
/usr/bin/opt
/usr/bin/llvmc
/usr/bin/llvm-ar
/usr/bin/llvm-ranlib
/usr/bin/llvm-as
/usr/bin/bugpoint
/usr/bin/llvm-prof
/usr/bin/tblgen
/usr/bin/llvm-config
/usr/share/man/man1/llvm-nm.1.gz
/usr/share/man/man1/tblgen.1.gz
/usr/share/man/man1/llvmc.1.gz
/usr/share/man/man1/llvm-config.1.gz
/usr/share/man/man1/llvm-extract.1.gz
/usr/share/man/man1/llvmgxx.1.gz
/usr/share/man/man1/llvm-prof.1.gz
/usr/share/man/man1/llvm-ld.1.gz
/usr/share/man/man1/llc.1.gz
/usr/share/man/man1/opt.1.gz
/usr/share/man/man1/llvm-ar.1.gz
/usr/share/man/man1/lit.1.gz
/usr/share/man/man1/llvm-dis.1.gz
/usr/share/man/man1/llvm-as.1.gz
/usr/share/man/man1/llvmgcc.1.gz
/usr/share/man/man1/llvm-bcanalyzer.1.gz
/usr/share/man/man1/llvm-link.1.gz
/usr/share/man/man1/bugpoint.1.gz
/usr/share/man/man1/llvm-ranlib.1.gz
/usr/share/doc/llvm
Thanks,
Paul
Attachment:
signature.asc
Description: This is a digitally signed message part