Bug 98606 - Compile error in gallium target VA--LLVM undefined referencences
Summary: Compile error in gallium target VA--LLVM undefined referencences
Status: RESOLVED WORKSFORME
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-06 04:47 UTC by charlie
Modified: 2016-11-15 04:56 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Part of the comiple log (222.96 KB, text/plain)
2016-11-06 04:47 UTC, charlie
Details
mesa config.log (182.74 KB, text/plain)
2016-11-09 02:16 UTC, charlie
Details
mesa build.log (5.53 MB, text/plain)
2016-11-09 02:20 UTC, charlie
Details
libva.cfg (115 bytes, text/plain)
2016-11-09 02:21 UTC, charlie
Details
environment variable used when compiling libva (61 bytes, text/plain)
2016-11-09 02:22 UTC, charlie
Details
Default variables that get added to all components being built. (1.02 KB, text/plain)
2016-11-09 02:23 UTC, charlie
Details
Varibles used to configure mesa. (538 bytes, text/plain)
2016-11-09 02:25 UTC, charlie
Details

Description charlie 2016-11-06 04:47:29 UTC
Created attachment 127795 [details]
Part of the comiple log

Compiling using GCC 5.3.0 multilib.
LLVM git installed.

Over time I have tried to comiple mesa git with different versions of libva, libvdpau and llvm but still get the same compile error as shown in the attached log.

I am a still able to install the libGL.so by forcing make (make -k) but I no longer have VA-API decode ability like in the past.
Comment 1 Michel Dänzer 2016-11-08 09:24:45 UTC
Please attach the output of

 make V=1

and the corresponding config.log file.
Comment 2 Emil Velikov 2016-11-08 14:30:53 UTC
When you say "... I no longer have VA-API decode ability like in the past" do you have an estimate when (what gcc/llvm/etc. combination) it was working ?

Also, please make sure that you start a clean build if managing gallium llvm (--enable-gallium-llvm and permutations). Atm if you build with --enable and then reconfigure/rebuild with --disable things will break similar to your log.
Comment 3 charlie 2016-11-09 02:16:06 UTC
The "gcc/llvm/etc. combination" that mesa-va was last working at occurred perhaps near the beginning of the year 2016.

"Atm if you build with --enable and then reconfigure/rebuild with --disable things will break similar to your log."

I can try deleting all of x and llvm with no changes in my configure options although I think I have done that before with no change in the mesa compile error.  I'll try it again.
Comment 4 charlie 2016-11-09 02:16:54 UTC
Created attachment 127855 [details]
mesa config.log
Comment 5 charlie 2016-11-09 02:20:28 UTC
Created attachment 127856 [details]
mesa build.log

Generated with "make V=1 -j${threads} 2>&1 | tee build.log"
Comment 6 charlie 2016-11-09 02:21:43 UTC
Created attachment 127857 [details]
libva.cfg
Comment 7 charlie 2016-11-09 02:22:37 UTC
Created attachment 127858 [details]
environment variable used when compiling libva
Comment 8 charlie 2016-11-09 02:23:58 UTC
Created attachment 127859 [details]
Default variables that get added to all components being built.
Comment 9 charlie 2016-11-09 02:25:11 UTC
Created attachment 127860 [details]
Varibles used to configure mesa.
Comment 10 charlie 2016-11-15 04:53:36 UTC
Solved

I think these are the minimum steps used to fix my bug:
1) delete all installed files (includes and libraries) related to libva, libvdpau and mesa.
2) compile in the following order: mesa with "./configure --disable-va --disable-vdpau" then
3) libva
4) libvdpau
5) mesa with "./configure --enable-va --enable-vdpau"

After building mesa I also built the rest of x in the correct order.

I request that the mesa build instructions be updated at "https://www.x.org/wiki/Development/BuildingX"

Side note for those who may encounter this issue in the future:

After the fix I can now use "vo=vdpau" in mplayer's config file.

You can check or export which video driver would use vdpau acceleration with:
export VDPAU_DRIVER=$(grep -i vdpau /var/log/Xorg.0.log | sed 's/.*: *//')
echo $VDPAU_DRIVER


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.