+++ This bug was initially created as a clone of Bug #966983 +++ glfw has had no stable upstream release of the 3.x branch, yet glfw 3.0 unstable from git is packaged in Fedora 18. What is the rationale for that? Why are we packaging unstable git release when glfw 2.7.x works just fine? There are API changes between the 2 major releases, so on top of everything, this questionable decision breaks stable released code of other projects depending on glfw. If there really is solid rationale for bringing glfw 3 into Fedora, I suggest packaging it separately as glfw3. It is very likely that people will depend on glfw2 for quite a long time. Installed Packages Name : glfw Arch : x86_64 Version : 3.0 Release : 0.7.20120812gita9ed5b1.fc18 Size : 122 k Repo : installed From repo : fedora Summary : A cross-platform multimedia library URL : http://www.glfw.org/index.html License : zlib Description : GLFW is a free, Open Source, multi-platform library for OpenGL : application development that provides a powerful API for handling : operating system specific tasks such as opening an OpenGL window, : reading keyboard, mouse, joystick and time input, creating : threads, and more. Available Packages Name : glfw Arch : i686 Version : 3.0 Release : 0.7.20120812gita9ed5b1.fc18 Size : 50 k Repo : fedora/18/x86_64 Summary : A cross-platform multimedia library URL : http://www.glfw.org/index.html License : zlib Description : GLFW is a free, Open Source, multi-platform library for OpenGL : application development that provides a powerful API for handling : operating system specific tasks such as opening an OpenGL window, : reading keyboard, mouse, joystick and time input, creating : threads, and more. --- Additional comment from MERCIER Jonathan on 2013-06-26 17:12:12 EDT --- I agree glfw3 api change often. I provide glfw3 mainly because derelict need it. We could think a way to provide glfw 2.7 and 3 --- Additional comment from D. Stimits on 2013-11-06 16:51:57 EST --- Please note that I am looking at Fedora 19, actual rpm: glfw-3.0-0.18.20130517git673d5b5.fc19.x86_64. It looks like the existing fedora version glfw3 package differs from the actual version 3 glfw (via glfw.org). Compilation errors imply that the existing header file also differs from the dynamic library, /usr/lib64/libglfw.so.3.0 Specifically, header from the RPM version 3 provides /usr/include/GL/glfw3.h, ...and within this, provides the following declaration: typedef void (* GLFWkeyfun)(GLFWwindow*,int,int); If the actual glfw3 source is downloaded from glfw.org for version 3.0.3: http://www.glfw.org/download.html http://sourceforge.net/projects/glfw/files/glfw/3.0.3/glfw-3.0.3.zip/download ...the glfw.org header glfw-3.0.3/include/GLFW/glfw3.h instead uses this declaration: typedef void (* GLFWkeyfun)(GLFWwindow*,int,int,int,int); This latter definition is supported as correct via the glfw.org documentation under the version 3 API: http://www.glfw.org/docs/latest/group__input.html#ga592dd1919f8a1dc7576b13cdd8b7b695 Note that official source for version 2.7.9 (prior API) has the exact definition of GLFWkeyfun used in the fedora rpm for version 3...part of the glfw3 package in the fedora rpm incorrectly mixes version 2 API. Compiler errors lead me to believe that fedora dynamic library /usr/lib64/libglfw.so.3.0, provided by glfw-3.0-0.18.20130517git673d5b5.fc19.x86_64, fails to match the /usr/include/GL/glfw3.h header (provided by the same RPM). Odds are high that the installed library follows version 3 API, causing mismatched declaration/implementation compile failure (I have not verified this difference for the actual libglfw.so.3.0, symbols are stripped). This software is important, and is replacing GLUT in many OpenGL applications. For myself, I am developing on both nVidia x86 and nVidia Tegra embedded, and the SDK has moved away from GLUT and specifically replaced it with glfw. nVidia comments here: https://developer.nvidia.com/content/introducing-new-opengl-sdk-samples
Looks like this is fixed in Fedora 20. Fedora 19 would benefit from a back port. Additional supporting information: Fedora 19 SRPM: glfw-3.0-0.18.20130517git673d5b5.fc19.src.rpm Fedora 19 git refers to glfw: http://www.mail-archive.com/package-announce@lists.fedoraproject.org/msg74548.html Fedora 19 git repository: http://pkgs.fedoraproject.org/cgit/ glfw.org source: glfw-3.0.3.zip INSTALLED: rpm -qva | egrep '(20130517git673d5b5)' glfw-debuginfo-3.0-0.18.20130517git673d5b5.fc19.x86_64 glfw-devel-3.0-0.18.20130517git673d5b5.fc19.x86_64 glfw-3.0-0.18.20130517git673d5b5.fc19.x86_64 Fedora 19 git provides: rpmbuild/SOURCES/glfw-20130517git673d5b5.tar.xz rpmbuild/SPECS/glfw.spec THIS UNCOMPRESSES rpmbuild/SOURCES/glfw-20130517git673d5b5.tar.xz AS: glfw-20130517git673d5b5.tar CURRENT Fedora 19 COMPILER: gcc version 4.8.2 20131017 (Red Hat 4.8.2-1) (GCC) GLFW.ORG API DOCUMENTATION: http://www.glfw.org/docs/latest/group__input.html GLFWkeyfun OFFICIAL DOCUMENTATION: http://www.glfw.org/docs/latest/group__input.html#ga592dd1919f8a1dc7576b13cdd8b7b695 GLFWmousebuttonfun OFFICIAL DOCUMENTATION: http://www.glfw.org/docs/latest/group__input.html#ga1e008c7a8751cea648c8f42cc91104cf API DEVIATIONS: GLFWkeyfun OFFICIAL DECLARATION: typedef void(* GLFWkeyfun)(GLFWwindow *, int, int, int, int) GLFWkeyfun FEDORA 19 DECLARATION: typedef void (* GLFWkeyfun)(GLFWwindow*,int,int) GLFWmousebuttonfun OFFICIAL DECLARATION: typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int,int) GLFWmousebuttonfun FEDORA 19 DECLARATION: typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int) Fedora 19 BUG REPORT: https://bugzilla.redhat.com/show_bug.cgi?id=1028665 Fedora 20 Devel SRPM Link: http://mirrors.cat.pdx.edu/fedora/linux/development/20/source/SRPMS/g/glfw-3.0-0.27.20130807git735bc2d.fc20.src.rpm Fedora 20 Devel Provides Header: rpmbuild/SOURCES/glfw-20130807git735bc2d/include/GLFW/glfw3.h Fedora 20 Devel Header Correctly Declares: typedef void (* GLFWkeyfun)(GLFWwindow*,int,int,int,int) typedef void (* GLFWmousebuttonfun)(GLFWwindow*,int,int,int)
*** This bug has been marked as a duplicate of bug 966983 ***