[Mesa-dev] MSVC, MinGW build break

Brian Paul brianp at vmware.com
Sat Oct 17 09:17:17 PDT 2015


On 10/17/2015 10:13 AM, Rob Clark wrote:
> On Sat, Oct 17, 2015 at 12:07 PM, Brian Paul <brianp at vmware.com> 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.
>>
>
> ahh, I just saw you pushed a patch.. thanks :-)
>
> I'm glad you managed to figure it out.. I actually don't have any
> windows machine (at home or work) so would have been difficult for me
> to debug.  Sorry about breaking things.

It's pretty easy to install MinGW with apt-get or yum, etc.  Then, it's 
just 'scons platform=windows machine=x86_64 libgl-gdi' or some variation.

-Brian




More information about the mesa-dev mailing list