[Mesa-users] [mesa-users] Configuring mesa-11.2.2 llvmpipe with non-standard paths

Edson Contreras Cárdenas edrecon at gmail.com
Wed Jun 29 16:41:11 UTC 2016


Hi Chuck, thanks for your quick response. I'm sending you the output of
configure and glxinfo. And yes, it is similiar.

BASELIBS_PREFIX="/remote/sharedLibs"
PKG_CONFIG_PATH=${BASELIBS_PREFIX}/libxcb/lib/pkgconfig:${BASELIBS_PREFIX}/libdrm/lib/pkgconfig:${BASELIBS_PREFIX}/libxshmfence/lib/pkgconfig:${BASELIBS_PREFIX}/libva/lib/pkgconfig

[edsonc at mesa-tests]:/remote/sharedLibsSrc/mesa11.2-build>../mesa-11.2.2/configure
\
    --prefix=${BASELIBS_PREFIX}/mesa-11.2-glx \
    --with-llvm-prefix=${BASELIBS_PREFIX}/llvm-3.8 \
    --with-gnu-ld \
    --enable-gallium-llvm=yes \
    --enable-sysfs \
    --enable-xlib-glx \
    --enable-glx \
    --enable-texture-float \
    --disable-dri \
    --disable-dri3 \
    --disable-egl \
    --disable-llvm-shared-libs \
    --with-gallium-drivers="swrast"

Output is:

        prefix:          /remote/sharedLibs/mesa-11.2-glx
        exec_prefix:     ${prefix}
        libdir:          ${exec_prefix}/lib
        includedir:      ${prefix}/include

        OpenGL:          yes (ES1: yes ES2: yes)

        OSMesa:          no

        GLX:             Xlib-based

        EGL:             no

        llvm:            yes
        llvm-config:     /remote/sharedLibs/llvm-3.8/bin/llvm-config
        llvm-version:    3.8.0

        Gallium drivers: swrast
        Gallium st:      mesa

        Shader cache:    yes
        With SHA1 from:  libgcrypt

        Shared libs:     yes
        Static libs:     no
        Shared-glapi:    yes

        CFLAGS:          -g -O2 -Wall -std=c99
-Werror=implicit-function-declaration -Werror=missing-prototypes
-fno-strict-aliasing -fno-math-errno -fno-trapping-math -fno-builtin-memcmp
        CXXFLAGS:        -g -O2 -Wall -fno-strict-aliasing
-fno-builtin-memcmp
        Macros:          -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
-D_GNU_SOURCE -DUSE_SSE41 -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM
-DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP
-DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DHAVE_SHA1 -DHAVE_SYSFS
-DUSE_XSHM -DMESA_EGL_NO_X11_HEADERS -DHAVE_LLVM=0x0308
-DMESA_LLVM_VERSION_PATCH=0

        LLVM_CFLAGS:     -I/remote/sharedLibs/llvm-3.8/include
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
        LLVM_CXXFLAGS:   -I/remote/sharedLibs/llvm-3.8/include    -W
-Wno-unused-parameter -Wwrite-strings  -Wno-missing-field-initializers
-Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor
-Wno-comment -std=c++11   -fno-rtti  -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
        LLVM_CPPFLAGS:   -I/remote/sharedLibs/llvm-3.8/include
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
        LLVM_LDFLAGS:    -L/remote/sharedLibs/llvm-3.8/lib

        PYTHON2:         python2

        Run 'make' to build Mesa

Then, after a 'gmake -j20' and a 'gmake install' the output of the glxinfo
is:

[edsonc at mesa-tests]:~>setenv LD_LIBRARY_PATH
/remote/sharedLibs/mesa-11.2.2-glx/lib:$LD_LIBRARY_PATH

[edsonc at mesa-tests]:~>ldd /usr/bin/glxinfo
    linux-vdso.so.1 =>  (0x00007fffc5bff000)
    libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00002ad1e0157000)
    libGL.so.1 => /remote/sharedLibs/mesa-11.2.2-glx/lib/libGL.so.1
(0x00002ad1e03d7000)
    libm.so.6 => /lib64/libm.so.6 (0x00002ad1e0a4f000)
    libX11.so.6 => /usr/lib64/libX11.so.6 (0x00002ad1e0cd3000)
    libXext.so.6 => /usr/lib64/libXext.so.6 (0x00002ad1e1011000)
    libc.so.6 => /lib64/libc.so.6 (0x00002ad1e1223000)
    libstdc++.so.6 => /remote/baseLibs/libstdc++.so.6 (0x00002ad1e15b7000)
    libgcc_s.so.1 => /remote/baseLibs/libgcc_s.so.1 (0x00002ad1e1932000)
    libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00002ad1e1b48000)
    libglapi.so.0 => /remote/sharedLibs/mesa-11.2-glx/lib/libglapi.so.0
(0x00002ad1e1dbe000)
    libxcb.so.1 => /remote/sharedLibs/libxcb/lib/libxcb.so.1
(0x00002ad1e2024000)
    libXau.so.6 => /usr/lib64/libXau.so.6 (0x00002ad1e2249000)
    libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00002ad1e244d000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ad1e2652000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00002ad1e286f000)
    /lib64/ld-linux-x86-64.so.2 (0x00002ad1dff35000)
    libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00002ad1e2a74000)

[edsonc at mesa-tests]:~>glxinfo | grep -i "opengl"
OpenGL vendor string: Brian Paul
OpenGL renderer string: Mesa X11
OpenGL version string: 2.1 Mesa 11.2.2 (git-)
OpenGL shading language version string: 1.20
OpenGL extensions:

And that's it :-).

[Note: It's great having support from kitware, because my intention is to
have vtk-7.0 running with OpenGL2. Currently I've managed to build it in a
RHEL7.1 image only because there I build mesa using scons and the libudev
is high enough. For the time being I have 2 binaries: 1 with OpenGL1 in
RHEL6.6 and other with OpenGL2 in RHEL7.1. The idea is just to have one
with OpenGL2]

Thanks!

Regards,
Edson

2016-06-29 11:50 GMT-04:00 Chuck Atkins <chuck.atkins at kitware.com>:

> What's the output of your configure look like?  Using almost the same
> configuration on CentOS 6.7 with GCC 5.2 from the SCL, except all system
> dev-packages instead my own versions (sans llvm of course) I get the
> following output:
>
> [chuck at wopr mesa-11.2.2]$ ./configure
> --with-llvm-prefix=${HOME}/Code/LLVM/llvm-3.8.0.inst --with-gnu-ld
> --enable-gallium-llvm=yes --enable-sysfs --enable-xlib-glx --enable-glx
> --enable-texture-float --disable-dri --disable-dri3 --disable-egl
> --disable-llvm-shared-libs --with-gallium-drivers=swrast
> ...
> config.status: executing libtool commands
>
>         prefix:          /usr/local
>         exec_prefix:     ${prefix}
>         libdir:          ${exec_prefix}/lib
>         includedir:      ${prefix}/include
>
>         OpenGL:          yes (ES1: yes ES2: yes)
>
>         OSMesa:          no
>
>         GLX:             Xlib-based
>
>         EGL:             no
>
>         llvm:            yes
>         llvm-config:
> /home/chuck/Code/LLVM/llvm-3.8.0.inst/bin/llvm-config
>         llvm-version:    3.8.0
>
>         Gallium drivers: swrast
>         Gallium st:      mesa
>
>         Shader cache:    yes
>         With SHA1 from:  libcrypto
>
>         Shared libs:     yes
>         Static libs:     no
>         Shared-glapi:    yes
>
>         CFLAGS:          -g -O2 -Wall -std=c99
> -Werror=implicit-function-declaration -Werror=missing-prototypes
> -fno-strict-aliasing -fno-math-errno -fno-trapping-math -fno-builtin-memcmp
>         CXXFLAGS:        -g -O2 -Wall -fno-strict-aliasing
> -fno-builtin-memcmp
>         Macros:          -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
> -D_GNU_SOURCE -DUSE_SSE41 -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM
> -DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP
> -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_SHA1 -DHAVE_SYSFS -DUSE_XSHM
> -DMESA_EGL_NO_X11_HEADERS -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0
>
>         LLVM_CFLAGS:     -I/home/chuck/Code/LLVM/llvm-3.8.0.inst/include
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>         LLVM_CXXFLAGS:
> -I/home/chuck/Code/LLVM/llvm-3.8.0.inst/include    -W -Wno-unused-parameter
> -Wwrite-strings  -Wno-missing-field-initializers  -Wno-long-long
> -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment
> -std=c++11       -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
> -D__STDC_LIMIT_MACROS
>         LLVM_CPPFLAGS:   -I/home/chuck/Code/LLVM/llvm-3.8.0.inst/include
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>         LLVM_LDFLAGS:    -L/home/chuck/Code/LLVM/llvm-3.8.0.inst/lib
>
>         PYTHON2:         python2
>
>         Run 'make' to build Mesa
>
> [chuck at wopr mesa-11.2.2]$
>
> Your resulting configure output should be similar.
>
> - Chuck
>
> On Wed, Jun 29, 2016 at 8:01 AM, Edson Contreras Cárdenas <
> edrecon at gmail.com> wrote:
>
>> Hello everyone,
>>
>> Sorry for bothering you all, but I cannot get the gallium llvmpipe driver
>> working, and I need some help.
>>
>> My environment is:
>> RHEL6.6
>> gcc-5.2 (system)
>> libudev < 151 (system, I cannot upgrade kernel)
>>
>> llvm-3.8 (from source)
>> libva-1.7.1 (from source)
>> libxshmfence-latest (from source)
>> libxcb-latest (from source)
>> libdrm-latest (from source)
>>
>> I have all my libs installed in a non-standard path:
>>
>> MYLIBS_PREFIX=/remote/sharedLibs
>>
>> And my configure script looks like:
>>
>> ../mesa-11.2.2/configure \
>>
>> PKG_CONFIG_PATH=${MYLIBS_PREFIX}/libxcb/lib/pkgconfig:${MYLIBS_PREFIX}/libdrm/lib/pkgconfig:${MYLIBS_PREFIX}/libxshmfence/lib/pkgconfig:${MYLIBS_PREFIX}/libva/lib/pkgconfig
>> \
>>   —prefix=${MYLIBS_PREFIX}/mesa-11.2-llvmpipe \
>>   —with-llvm-prefix=${MYLIBS_PREFIX}/llvm-3.8 \
>>   —with-gnu-ld \
>>   —enable-gallium-llvm=yes \
>>   —enable-sysfs \
>>   —enable-xlib-glx \
>>   —enable-glx \
>>   —enable-texture-float \
>>   —disable-dri \
>>   —disable-dri3 \
>>   —disable-egl \
>>   —disable-llvm-shared-libs \
>>   —with-gallium-drivers=swrast
>>
>> The thing is that I have a valid libGL.so after building, but doesn't
>> have support for OpenGL 3.2. In addition to that, if I run "glxinfo | grep
>> OpenGL" it does not mention Gallium llvmpipe driver anywhere (however it
>> does mention mesa 11.2) and glxgears runs smoothly.
>>
>> Finally, if I try 'scons', it fails due to lack of udev >= 151.
>>
>> Could you please help me to provide to scons the flag --enable-sysfs, or,
>> help me to configure 'configure flags' in order to have llvmpipe driver
>> running?
>> Thank you very much in advance.
>>
>> Regards,
>> Edson
>>
>> _______________________________________________
>> mesa-users mailing list
>> mesa-users at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-users
>>
>>
>


-- 
Atte.
Edson René Contreras Cárdenas
Ingeniero Civil Electrónico
TCAD R&D Software Engineer II
Synopsys Chile
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-users/attachments/20160629/f9e79b40/attachment-0001.html>


More information about the mesa-users mailing list