[Mesa-dev] Scons/GLES: shared_glapi and osmesa link failure

Jose Fonseca jfonseca at vmware.com
Thu Oct 18 12:08:06 UTC 2018


I don't know what gles=y entails anymore, but if it's broken we should 
simply remove it.

That said, our WGL GLES contexts, via WGL_EXT_create_context_es2_profile 
extension, even without gles=y option.

So what exactly are you looking for here?

Jose

On 18/10/18 13:02, Liviu Prodea wrote:
> scons build=release platform=windows machine=x86 gles=y libgl-gdi osmesa
> 
> Creating library build\windows-x86\mesa\drivers\osmesa\osmesa.lib and 
> object build\windows-x86\mesa\drivers\osmesa\osmesa.exp
> osmesa.obj : error LNK2001: unresolved external symbol 
> __imp___glapi_check_multithread
> osmesa.obj : error LNK2001: unresolved external symbol 
> __imp___glapi_get_proc_address
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_set_context
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_set_dispatch
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_set_nop_handler
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_new_nop_table
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_Context
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_get_dispatch_table_size
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_get_context
> mesa.lib(remap.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_add_dispatch
> mesa.lib(api_loopback.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_get_dispatch
> mesa.lib(api_loopback.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_Dispatch
> build\windows-x86\mesa\drivers\osmesa\osmesa.dll : fatal error LNK1120: 
> 12 unresolved externals
> scons: *** [build\windows-x86\mesa\drivers\osmesa\osmesa.dll] Error 1120
> st_osmesa.lib(osmesa.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_get_proc_address
> mesa.lib(st_manager.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_check_multithread
> mesa.lib(vbo_exec_api.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_set_dispatch
> mesa.lib(glthread.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_set_context
> mesa.lib(context.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_get_dispatch_table_size
> mesa.lib(remap.obj) : error LNK2001: unresolved external symbol 
> __imp___glapi_add_dispatch
> build\windows-x86\gallium\targets\osmesa\osmesa.dll : fatal error 
> LNK1120: 6 unresolved externals
> scons: *** [build\windows-x86\gallium\targets\osmesa\osmesa.dll] Error 1120
> scons: building terminated because of errors.
> 
> This is a long standing issue. First reported here:
> 
> https://lists.freedesktop.org/archives/mesa-users/2012-May/000431.html 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Farchives%2Fmesa-users%2F2012-May%2F000431.html&data=02%7C01%7Cjfonseca%40vmware.com%7C6abda784079c42d71b3408d634f19a8a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636754609623099529&sdata=%2BVbAVSllQsctFyx%2FaDxlLT3r4bxUNU1Ee%2BC%2FpV6A65A%3D&reserved=0>
> 
> Encountered again in 2016:
> 
> https://lists.freedesktop.org/archives/mesa-users/2016-March/001142.html 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Farchives%2Fmesa-users%2F2016-March%2F001142.html&data=02%7C01%7Cjfonseca%40vmware.com%7C6abda784079c42d71b3408d634f19a8a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636754609623099529&sdata=F0LF4N3y9Z4WkpESF816hPBeFgisVhYmKqSOI57hZDo%3D&reserved=0>
> 
> and finally by myself in early 2018:
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=106843 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.freedesktop.org%2Fshow_bug.cgi%3Fid%3D106843&data=02%7C01%7Cjfonseca%40vmware.com%7C6abda784079c42d71b3408d634f19a8a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636754609623109534&sdata=%2BaoNGi49NqOqTduaS9GUh69nV8hxWI7bLp%2F7ikcAk2M%3D&reserved=0>
> 
> Eric Engestrom suggested me to try the work in progress Meson build for 
> Windows. Unfortunately it has other issues which prevents it from being 
> ready for prime time as I reported here:
> 
> https://gitlab.freedesktop.org/dbaker/mesa/issues/2 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fdbaker%2Fmesa%2Fissues%2F2&data=02%7C01%7Cjfonseca%40vmware.com%7C6abda784079c42d71b3408d634f19a8a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636754609623109534&sdata=vfn2nFWXV4dcKX7jwJRM721sV40Mu6YWb64MvG7%2BBms%3D&reserved=0>
> 
> I stumbled upon this issue when dealing with this feature request:
> 
> https://github.com/pal1000/mesa-dist-win/issues/8 
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpal1000%2Fmesa-dist-win%2Fissues%2F8&data=02%7C01%7Cjfonseca%40vmware.com%7C6abda784079c42d71b3408d634f19a8a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636754609623119539&sdata=NgWDQFRSrOAkp%2Baut%2FCQDeQJX2lxIm5%2FiaOxPdiOed8%3D&reserved=0>
> 
> I was able to get that feature done but with a terribly ugly hack which 
> should not even be mentioned.
> 
> This issue affects the linking between osmesa and shared_glapi so the 
> build command that triggers it can be as short as:
> 
> scons gles=y
> 
> or
> 
> scons gles=y osmesa
> 
> to get to the linking failure as quickly as possible stripping targets 
> that build successfully.
> 
> I tried to make a proper fix but it is beyond my skill level, despite 
> having the gut feeling the fix could be something surprisingly simple.
> 



More information about the mesa-dev mailing list