[Mesa-dev] MSVC, MinGW build break

Rob Clark robdclark at gmail.com
Sat Oct 17 09:44:29 PDT 2015


On Sat, Oct 17, 2015 at 12:36 PM, Brian Paul <brianp at vmware.com> wrote:
> On 10/17/2015 10:07 AM, Brian Paul wrote:
>>
>> On 10/17/2015 07:04 AM, Rob Clark wrote:
>>>
>>> On Fri, Oct 16, 2015 at 11:11 PM, Brian Paul <brianp at vmware.com> wrote:
>>>>
>>>> Hi Rob,
>>>>
>>>> Your recent commit "nir: remove dependency on glsl" broke the build
>>>> for MSVC
>>>> and MinGW.
>>>>
>>>> For MSVC:
>>>>
>>>> [...]
>>>>    Linking
>>>> build\windows-x86-debug\gallium\tests\graw\occlusion-query.exe ...
>>>>    Linking build\windows-x86-debug\gallium\tests\graw\quad-sample.exe
>>>> ...
>>>> glsl.lib(loop_controls.obj) : error LNK2001: unresolved external symbol
>>>> "public: static struct glsl_type const * const glsl_type::bool_type"
>>>> (?bool_type at glsl_type@@2QBU1 at B)
>>>> glsl.lib(lower_discard_flow.obj) : error LNK2001: unresolved external
>>>> symbol
>>>> "public: static struct glsl_type const * const glsl_type::bool_type"
>>>> (?bool_type at glsl_type@@2QBU1 at B)
>>>> [...]
>>>> glsl.lib(builtin_functions.obj) : error LNK2001: unresolved external
>>>> symbol
>>>> "public: static struct glsl_type const * const glsl_type::float_type"
>>>> (?float_type at glsl_type@@2QBU1 at B)
>>>> [...]
>>>> mesa.lib(ff_fragment_shader.obj) : error LNK2001: unresolved external
>>>> symbol
>>>> "public: static struct glsl_type const * const
>>>> glsl_type::sampler2DShadow_type"
>>>> (?sampler2DShadow_type at glsl_type@@2QBU1 at B)
>>>> [etc. for hundreds more]
>>>>
>>>>
>>>>
>>>> For MinGW:
>>>> [...]
>>>>    Linking build/windows-x86-debug/gallium/tests/graw/fs-write-z.exe ...
>>>>    Linking build/windows-x86-debug/gallium/targets/osmesa/osmesa.dll ...
>>>>    Linking
>>>> build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll ...
>>>> build/windows-x86-debug/mesa/libmesa.a(ir_to_mesa.o): In function
>>>> `reladdr_to_temp':
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:793:
>>>>
>>>> undefined reference to `glsl_type::vec4_type'
>>>> build/windows-x86-debug/mesa/libmesa.a(ir_to_mesa.o): In function
>>>> `visit':
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:1092:
>>>>
>>>> undefined reference to `glsl_type::vec4_type'
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:1115:
>>>>
>>>> undefined reference to `glsl_type::vec4_type'
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:1487:
>>>>
>>>> undefined reference to `glsl_type::float_type'
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:1497:
>>>>
>>>> undefined reference to `glsl_type::float_type'
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:1871:
>>>>
>>>> undefined reference to `glsl_type::vec4_type'
>>>>
>>>> /var/lib/hudson/jobs/mesa-mingw/workspace/src/mesa/program/ir_to_mesa.cpp:1883:
>>>>
>>>> undefined reference to `glsl_type::vec4_type'
>>>>
>>>>
>>>> Hopefully it's something simple to fix.
>>>
>>>
>>> these types should all be coming from glsl_types.cpp which moved into
>>> NIR..
>>>
>>> I've no idea about MSVC or MinGW builds.. (I did at least fix up the
>>> scons build, although in not a very pretty way..).  I guess the best
>>> thing I could suggest is to:
>>>
>>>    git show -M b9b40ef9b7644ea24768bc8b7464b1719efe99bf
>>>
>>> and make equivalent changes in whatever build files MSVC/MinGW uses??
>>
>>
>> Yeah, that's what I did.
>
>
> Actually, I'm kind of hoping we can find a cleaner fix for scons.  Maybe
> Jose can take a look when he has time.
>

yeah, current solution is not pretty..  Emil had suggested introducing
a libnir for scons build, but that was well beyond my understanding of
scons and the scons build setup.

That would be nice if someone who knew what they were doing could have a look.

BR,
-R


More information about the mesa-dev mailing list