Bug 107923

Summary: build_id.c:126: multiple definition of `build_id_length'
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: baker.dylan.c, brad.king, fdo-bugs, idr
Version: gitKeywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:

Description Vinson Lee 2018-09-13 17:09:49 UTC
CXXLD  libGL.la
../../../../src/util/.libs/libmesautil.a(libmesautil_la-build_id.o): In function `build_id_length':
src/util/build_id.c:126: multiple definition of `build_id_length'
../../../../src/mesa/.libs/libmesagallium.a(libmesautil_la-build_id.o):src/util/build_id.c:126: first defined here
Comment 1 Sergii Romantsov 2018-09-14 12:44:01 UTC
Hello, Vinson,
could you, please, specify your build-configuration?
I don't see such output.
Comment 2 Vinson Lee 2018-09-14 18:25:30 UTC
(In reply to Sergii Romantsov from comment #1)
> could you, please, specify your build-configuration?

./autogen.sh --disable-dri --disable-egl --disable-gbm --enable-debug --with-dri-drivers=swrast --with-gallium-drivers=swrast --with-platforms=x11
Comment 3 Brian Paul 2018-09-14 19:45:02 UTC
I'm seeing similar issues.

$ ../autogen.sh  CFLAGS="-g -O0" CXXFLAGS="-g -O0" --enable-debug --enable-xlib-glx --disable-driglx-direct --disable-dri --with-gallium-drivers=swrast,svga --disable-gbm --disable-egl

results in a lot of multiply-defined symbols.

This has probably been happening for the past week or so.  I haven't had any time to investigate though.

Vinson, perhaps you could bisect it if you have time.
Comment 4 Dylan Baker 2018-09-14 20:08:44 UTC
This seems to be auto tools specific, I cn't replicate with the closest meson configuration I could come up with (-Dbuildtype=debug -Dglx=gallium-xlib -Ddri-drivers= -Dvulkan-drivers= -Dgallium-drivers=swrast,svga -Dgbm=false -Degl=false); meson doesn't have a toggle to turn off direct glx or tls, so it could be related to that.
Comment 5 Vinson Lee 2018-09-14 22:43:51 UTC
8396043f304bb2a752130230055605c5c966e89f is the first bad commit
commit 8396043f304bb2a752130230055605c5c966e89f
Author: Dylan Baker <dylan@pnwbakers.com>
Date:   Tue Aug 21 09:46:46 2018 -0700

    Replace uses of _mesa_bitcount with util_bitcount
    and _mesa_bitcount_64 with util_bitcount_64. This fixes a build problem
    in nir for platforms that don't have popcount or popcountll, such as
    32bit msvc.
    v2: - Fix additional uses of _mesa_bitcount added after this was
          originally written
    Acked-by: Eric Engestrom <eric.engestrom@intel.com> (v1)
    Acked-by: Eric Anholt <eric@anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>

:040000 040000 9b4d3f30a8c2cb4d4a549b92c6db3cf499338579 dcad5de2d7a236b4fe35516fde4abf5d24516415 M	src
bisect run success
Comment 6 Sergii Romantsov 2018-09-17 10:24:09 UTC
Proposed patch: https://patchwork.freedesktop.org/patch/249831/
Comment 7 Dylan Baker 2018-09-17 22:41:35 UTC
This should be fixed now.

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.