Yaakov Selkowitz yselkowitz@cygwin.com
Mon May 7 18:49:00 GMT 2018

On 2018-05-06 16:57, Ken Brown wrote:
> On 5/6/2018 4:02 PM, Ken Brown wrote:
>> On 4/29/2018 6:16 PM, Yaakov Selkowitz wrote:
>>> On 2018-04-29 08:33, Marco Atzeri wrote:
>>>> On 4/29/2018 11:25 AM, Lemures Lemniscati wrote:
>>>>> On each systems, there appeared a dialog telling something like that:
>>>>>     The procedure entry point 'glBegin' could not be located in the
>>>>>     dynamic link library 'cygOSMesa-8.dll'
>>>> I would say that libOSMesa8 had a modification in the list of
>>>> exported symbols in the last version.
>>>> [TXT]    libOSMesa8-17.3.5-1    21-Feb-2018 09:50     267
>>>> [TXT]    libOSMesa8-17.3.8-1    05-Apr-2018 12:44     267
>>>> [TXT]    libOSMesa8-18.0.1-1    23-Apr-2018 07:35     267
>>>> I do not see  glBegin in the last cygOSMesa-8.dll of 18.0.1-1
>>>> So it seems there is an issue on the last libOSMesa8 package
>>> Indeed, investigating now.
>> I don't know where your are in your investigation, but I think I found
>> the problem.  The attached patch to the mesa sources seems to fix it

That's pretty much what I had locally as well.

> BTW, although the patch suffices to solve the immediate problem, I
> suspect that there may still be a lot of symbols in the various mesa
> DLLs that are exported in the autotools build but not in the meson
> build.  Indeed, there are quite a few 'noinst' libraries in Makefile.am
> files that are not listed in 'link_full' in the meson.build files.  If
> I'm not mistaken, such libraries will be linked with the --whole-archive
> option in the autotools build but not in the meson build.

This took a little more time to understand.  Libtool always treats
convenience libs (iow static noinst_LTLIBRARIES) along the lines of
meson's 'link_full', which results in all of their symbols to be
exported into the shared library into which they are linked (unless
dllexport or .def file are used, of course).  Meson distinguishes
between link_full and link_with, the latter of which is a normal link,
meaning that only those parts referenced elsewhere get pulled in.

With the above fix for OSMesa, a comparison of all the link libraries
between the last 17.3 libtool-based build and the 18.0 meson-based build
shows a lot of internal symbols no longer exported but the public ABI
looks sane now.  osdemo works with today's 18.0.3, so hopefully we are
set, but if there are other issues, please do let me know.


Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list