[Mesa-dev] MSVC, MinGW build break

Rob Clark robdclark at gmail.com
Sat Oct 17 09:22:10 PDT 2015


On Sat, Oct 17, 2015 at 12:17 PM, Brian Paul <brianp at vmware.com> wrote:
> 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.
>

oh, so cross-compile for windows from linux?  It didn't even occur to
me that this was possible.  I'll keep that in mind next time I venture
into trying to make build changes

BR,
-R


More information about the mesa-dev mailing list