[Mesa-dev] [PATCH] targets/opencl: Fix (static) linking with LLVM

Emil Velikov emil.l.velikov at gmail.com
Tue May 27 03:44:59 PDT 2014


On 27/05/14 05:46, Kertesz Laszlo wrote:
> On 05/19/2014 06:06 PM, Kai Wasserbäch wrote:
>> Michel Dänzer schrieb am 19.05.2014 04:12:
>>> On 18.05.2014 18:37, Kai Wasserbäch wrote:
>>>>
>>>> And instead of just not starting, my X starts crashing, whenever
>>>> libGL fails to load a (32 bit) driver.
>>>
>>> FWIW, some potential alternatives for avoiding the X crashes:
>>>
>>> With current xserver Git master, you can pass the -iglx parameter to
>>> Xorg to prohibit GLX indirect rendering.
>>>
>>> Or just make sure the 32-bit swrast_dri.so works.
>>
>> Thanks a lot for those pointers. I think my swrast failed because it had picked
>> up some newer SO_VERSION as well. Which would bring me back to static linking.
>>
>> Kind regards,
>> Kai Wasserbäch
> 
> Hi,
> i too hit the X crashing issue. But i am unable to compile the latest
> git (10.2-branchpoint-318-g4c7bf8a according to 'git describe')
> Here is the errors i get:
> 
> 
> make[3]: Entering directory '/compile/mesa/src/gallium/targets/gbm'
>   CC       gbm.lo
>   CXXLD    gbm_gallium_drm.la
> /usr/local/lib/llvm32/lib/libLLVMSupport.a(Process.o): In function
Hmm that file is not provide by us, so I'm afraid I cannot help you here.
Perhaps the LLVM folks will have a better idea.

> `llvm::sys::Process::FileDescriptorHasColors(int)':
> Process.cpp:(.text._ZN4llvm3sys7Process23FileDescriptorHasColorsEi+0x67): undefined
> reference to `setupterm'
> Process.cpp:(.text._ZN4llvm3sys7Process23FileDescriptorHasColorsEi+0x92): undefined
> reference to `tigetnum'
> Process.cpp:(.text._ZN4llvm3sys7Process23FileDescriptorHasColorsEi+0xa0): undefined
> reference to `set_curterm'
> Process.cpp:(.text._ZN4llvm3sys7Process23FileDescriptorHasColorsEi+0xa8): undefined
> reference to `del_curterm'
> /usr/local/lib/llvm32/lib/libLLVMSupport.a(Compression.o): In function
> `llvm::zlib::compress(llvm::StringRef, llvm::SmallVectorImpl<char>&,
> llvm::zlib::CompressionLevel)':
> Compression.cpp:(.text._ZN4llvm4zlib8compressENS_9StringRefERNS_15SmallVectorImplIcEENS0_16CompressionLevelE+0x26):
> undefined reference to `compressBound'
> Compression.cpp:(.text._ZN4llvm4zlib8compressENS_9StringRefERNS_15SmallVectorImplIcEENS0_16CompressionLevelE+0xa7):
> undefined reference to `compress2'
> collect2: error: ld returned 1 exit status
> Makefile:919: recipe for target 'gbm_gallium_drm.la' failed
> make[3]: *** [gbm_gallium_drm.la] Error 1
> make[3]: Leaving directory '/compile/mesa/src/gallium/targets/gbm'
> Makefile:543: recipe for target 'all-recursive' failed
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory '/compile/mesa/src/gallium/targets'
> Makefile:530: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/compile/mesa/src'
> Makefile:579: recipe for target 'all-recursive' failed
> make: *** [all-recursive] Error 1
> 
> 
> Build script (i use it since forever, it is working with enabled llvm
> shared libs, but as soon as i touch anything OpenGL related, X crashes.)
> 
I would check what exactly is causing the crash and open a ticket at bugzilla,
considering it's not already reported.

> PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/local/share/pkgconfig
> ./autogen.sh --sysconfdir=/etc --prefix=/usr \
> --libdir=/usr/lib/i386-linux-gnu --enable-debug \
> CPPFLAGS="-m32" \
> CXXFLAGS="-m32" \
> --with-llvm-prefix=/usr/local/lib/llvm32 \
> LDFLAGS="-L/usr/lib/i386-linux-gnu -L/usr/lib -L/usr/local/lib/llvm32/lib" \
Explicitly setting LDFLAGS is a recipe for disaster. Try to avoid that at all
cost.

Cheers
Emil
> --disable-64-bit --enable-32-bit \
> --enable-texture-float \
> --with-gallium-drivers=r600,swrast,radeonsi \
> --with-dri-drivers="" \
> --enable-vdpau \
> --enable-egl --enable-gles1 --enable-gles2 \
> --enable-glx-tls \
> --with-egl-platforms=x11,drm \
> --enable-gbm \
> --enable-gallium-egl \
> --enable-gallium-llvm \
> --disable-r600-llvm-compiler \
> --disable-dri3 \
> --enable-opencl \
> --enable-shared-glapi \
> --enable-gallium-osmesa \
> --disable-llvm-shared-libs
> 
> 
> 
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
> 



More information about the mesa-dev mailing list