Bug 77502

Summary: libOpenVG contains no vg Symbols
Product: Mesa Reporter: farmboy0+freedesktop
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: stompdagger1
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: patch to fix build for libOpenVG
patch in git email format

Description farmboy0+freedesktop 2014-04-15 21:30:02 UTC
I have just rebuilt mesa from git on my system and the OpenVG library doesnt contain any symbols that start with vg anymore.
This makes compilation of other libs and programs fail like cairo.

Step to reproduce:
1. ./configure --enable-glx --enable-shared-glapi --enable-texture-float --enable-egl --enable-gbm --enable-gles1 --enable-gles2 --enable-glx-tls --enable-osmesa --enable-asm --with-dri-drivers=swrast,radeon --with-gallium-drivers=swrast,radeonsi,r600 --with-egl-platforms=x11,wayland,drm --enable-gallium-llvm --enable-openvg --enable-gallium-egl --enable-dri --enable-xvmc --enable-dri3 --enable-vdpau --enable-r600-llvm-compiler --enable-debug

2. gmake
3. check the symbols of src/mapi/vgapi/.libs/libOpenVG.so.1.0.0

I am using python 2.7.
Comment 1 Emil Velikov 2014-04-18 20:34:13 UTC
Can you use git to bisect the commit that introduced this issue? Commit d681b22ed77274a805c6c8e81925c18eeb57a968 is the highest suspect, interestingly the vg symbols were available last time I built the library.

What version of gcc/binutils are you using ?
Comment 2 farmboy0+freedesktop 2014-04-18 21:51:10 UTC
GCC: 4.7.3
Binutils 2.23.2

I'll do the bisect later but I think its not your mentioned commit.
I checked the latest changes to the Makefile for vgapi and reverted them and nothing got better.
Comment 3 farmboy0+freedesktop 2014-04-20 21:27:28 UTC
144bbb7b78ecac33c62c6dc28df1747a73c4eb39 is the first bad commit
commit 144bbb7b78ecac33c62c6dc28df1747a73c4eb39
Author: Matt Turner <mattst88@gmail.com>
Date:   Sun Nov 10 19:01:58 2013 -0800

    glapi/build: Add headers to distribution.
    
    Acked-by: Emil Velikov <emil.l.velikov@gmail.com>

:040000 040000 ff16728fbfb4be2efd29189bfa01cde90300e2f8 452478ea59b48f9d28300f90fb38e3cb4f1ac66e M      src
Comment 4 dagg 2014-04-22 17:52:30 UTC
the commit that introduced this regression is 75143ef05576ee9f25ee176bc28c3c4d03705bf5 

I've got hit by this bug too, cannot update at least 3 pkgs on my system (using Gentoo).

what is worst is that include/VG/openvg.h exposes the vg* api while the code uses the vega* api.

frankly I'm not sure how this commit was approved, it broke backwards comparability and is partial.
Comment 5 dagg 2014-04-22 17:54:29 UTC
(In reply to comment #4)
> the commit that introduced this regression is
> 75143ef05576ee9f25ee176bc28c3c4d03705bf5 
> 
> I've got hit by this bug too, cannot update at least 3 pkgs on my system
> (using Gentoo).
> 
> what is worst is that include/VG/openvg.h exposes the vg* api while the code
> uses the vega* api.
> 
> frankly I'm not sure how this commit was approved, it broke backwards
> comparability and is partial.

s/comparability/compatibility/g
Comment 6 Matt Turner 2014-04-22 18:15:53 UTC
Did you try the next commit (34f15903d6f5807b34a4c9be6d8daaedbbdd64bc)? It fixed a mistake in the patch this was bisected to.
Comment 7 farmboy0+freedesktop 2014-04-22 19:03:33 UTC
Tried now.
Still bad.
Comment 8 Emil Velikov 2014-04-22 19:52:14 UTC
Dagg,
The issue introduced by 75143ef05576ee9f25ee176bc28c3c4d03705bf5 is different from this one. Please try to keep one bugeport per issue - open a new ticket and add the commit author to the Cc list.

Matt,
I'm guessing that you will be able to easily reproduce, at least I did without even trying (don't think I'll have time to look into it any time soon).

Just an idea: considering the way the whole dispatch is build (almost every time 2 different libraries are built), we might be off moving the headers to noinst_HEADERS. That will keep automake/make dist happy.
Comment 9 dagg 2014-04-25 08:21:33 UTC
(In reply to comment #8)
> Dagg,
> The issue introduced by 75143ef05576ee9f25ee176bc28c3c4d03705bf5 is
> different from this one. Please try to keep one bugeport per issue - open a
> new ticket and add the commit author to the Cc list.

Emil,

I'm not sure how you've decided is different from this one, I get a bunch of undefined reference to `vg*' errors on linking for multiple pkgs, looking at the title and at the commit I've mentioned, it shows that the exact vg funcs are replaced by vega funcs.

nonetheless, I'll open an new bug on the matter.
Comment 10 Chia-I Wu 2014-04-25 11:13:29 UTC
(In reply to comment #3)
> 144bbb7b78ecac33c62c6dc28df1747a73c4eb39 is the first bad commit
> commit 144bbb7b78ecac33c62c6dc28df1747a73c4eb39
> Author: Matt Turner <mattst88@gmail.com>
> Date:   Sun Nov 10 19:01:58 2013 -0800
> 
>     glapi/build: Add headers to distribution.
>     
>     Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
> 
> :040000 040000 ff16728fbfb4be2efd29189bfa01cde90300e2f8
> 452478ea59b48f9d28300f90fb38e3cb4f1ac66e M      src
In this commit, entry.c is removed from $(MAPI_FILES) in src/mapi/Makefile.sources.  Adding it back should fix this bug.  (Sorry that I am about to board a plane to verify it)
Comment 11 farmboy0+freedesktop 2014-04-25 18:45:04 UTC
Created attachment 97975 [details] [review]
patch to fix build for libOpenVG
Comment 12 farmboy0+freedesktop 2014-04-25 18:45:35 UTC
Chia-I Wu is right.
Comment 13 Matt Turner 2014-04-25 18:54:09 UTC
(In reply to comment #11)
> Created attachment 97975 [details] [review] [review]
> patch to fix build for libOpenVG

Would you attach a git-formatted patch, preferably with your real name, etc? I'll commit that.
Comment 14 farmboy0+freedesktop 2014-04-25 20:49:08 UTC
Created attachment 97995 [details] [review]
patch in git email format
Comment 15 Matt Turner 2014-04-26 02:34:05 UTC
(In reply to comment #14)
> Created attachment 97995 [details] [review] [review]
> patch in git email format

Thanks, committed.
Comment 16 dagg 2014-04-26 16:14:08 UTC
*** Bug 77917 has been marked as a duplicate of this bug. ***

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.