[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#656719: Please provide xvmc and vdpau Gallium3D video acceleration drivers (libg3dvl-mesa package)



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


Reply to: