<div dir="ltr">Hi,<br><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 17, 2018 at 9:31 AM, Guus Sliepen <span dir="ltr"><<a href="mailto:guus@debian.org" target="_blank">guus@debian.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">tags 892861 + wontfix<br>
thanks<br>
<span class="gmail-"><br>
On Wed, Mar 14, 2018 at 10:48:33AM +1300, Andrew Caudwell wrote:<br>
<br>
> The packaged version of GLM, 0.9.9~a2 is an alpha (the current release is still<br>
> 0.9.8.5) and removes the default initialization of vector, matrix and<br>
> quaternion types. Because of this code written against any earlier versions of<br>
> GLM may now have uninitialized value bugs introduced by this change (e.g. where<br>
> GLM types are member variables of a class) or now behave differently (mat4()<br>
> previously gave you an identity matrix, now this gives you a zero'd matrix).<br>
> Several issues have been raised upstream (including by myself) to re-add<br>
> initialization or at least make it optional.<br>
</span><span class="gmail-">> Additionally the requirement in this version to define GLM_ENABLE_EXPERIMENTAL<br>
</span>[...]<br>
<span class="gmail-">> to use simple functions like length2() has broken multiple packages. I have put<br>
> off fixing this since making it compile just exposes the user to the<br>
> uninitialized value bugs. Unfortunately this has now meant my gource and<br>
> logstalgia debian packages have been removed from debian since they don't<br>
> complile with this GLM version.<br>
<br>
</span>I believe these are intentional changes by the author of GLM. I expect<br>
that GLM 1.0.0 will be released before the next release of Debian, and<br>
any packages that depend on GLM should instead be fixed to handle the<br>
new behavior.<br></blockquote><div><br></div><div>The upstream author hasn't commented on these issues yet so there's no reason to assume they will leave things in the current state without at least providing at least a work around to the initialization issue.<br></div><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Unless I am mistaken, projects depending on GLM can just #define<br>
GLM_ENABLE_EXPERIMENTAL and provide explicit default initializers, which<br>
will be backwards compatible with older versions of GLM.<br></blockquote><div><br></div><div>Fixing the default initializers issue requires a thorough code review and probably debugging with valgrind to find these cases (-Wuninitialized won't find these) which I think is an unreasonable burden on maintainers.<br><br></div><div><div>Other distros such as Redhat, Gentoo and Arch Linux have continued 
to package the current release 0.9.8.5 with a fix for the GCC 7.3 issue 
(which only requires changing an == to >=):<br><br><a href="https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/glm">https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/glm</a><br></div><div><br>Ubuntu 18.04 has imported the current Debian unstable libglm-dev package which has made resolving this issue more urgent in my view.<br><br>My current work around is to embed the patched version of 0.9.8.5 and provide a --with-glm option for distros that have a compatible version of the library.<br><br>Ideally I would like to be able to use the Debian libglm-dev package so I hope you reconsider.<br><br></div><div>Cheers<br><br></div><div>Andrew<br></div><div></div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="gmail-HOEnZb"><font color="#888888"><br>
--<br>
Met vriendelijke groet / with kind regards,<br>
      Guus Sliepen <<a href="mailto:guus@debian.org">guus@debian.org</a>><br>
</font></span></blockquote></div><br></div></div></div></div>