[fixed]Definition of PFNGLBLENDEQUATIONPROC

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
fraang
Posts: 3
Joined: Tue Apr 22, 2014 5:38 pm

[fixed]Definition of PFNGLBLENDEQUATIONPROC

Post by fraang »

Hi,

I have encountered a bug while I tried to compile the Irrlicht engine with the newest version of Mesa 10.1.

It reportet that there is no definition of PFNGLBLENDEQUATIONPROC.

Code: Select all

 
In file included from COpenGLDriver.h:25:0,
                 from COpenGLDriver.cpp:5:
COpenGLExtensionHandler.h:1236:3: error: ‘PFNGLBLENDEQUATIONPROC’ does not name a type
   PFNGLBLENDEQUATIONPROC pGlBlendEquation;
   ^
COpenGLExtensionHandler.h: In member function ‘void irr::video::COpenGLExtensionHandler::extGlBlendEquation(GLenum)’:
COpenGLExtensionHandler.h:2566:6: error: ‘pGlBlendEquation’ was not declared in this scope
  if (pGlBlendEquation)
      ^
In file included from COpenGLDriver.h:25:0,
                 from COpenGLNormalMapRenderer.cpp:13:
COpenGLExtensionHandler.h:1236:3: error: ‘PFNGLBLENDEQUATIONPROC’ does not name a type
   PFNGLBLENDEQUATIONPROC pGlBlendEquation;
   ^
COpenGLExtensionHandler.h: In member function ‘void irr::video::COpenGLExtensionHandler::extGlBlendEquation(GLenum)’:
COpenGLExtensionHandler.h:2566:6: error: ‘pGlBlendEquation’ was not declared in this scope
  if (pGlBlendEquation)
      ^
<builtin>: recipe for target 'COpenGLNormalMapRenderer.o' failed
make: *** [COpenGLNormalMapRenderer.o] Error 1
make: *** Waiting for unfinished jobs....
<builtin>: recipe for target 'COpenGLDriver.o' failed
make: *** [COpenGLDriver.o] Error 1
In file included from COpenGLDriver.h:25:0,
                 from COpenGLParallaxMapRenderer.cpp:9:
COpenGLExtensionHandler.h:1236:3: error: ‘PFNGLBLENDEQUATIONPROC’ does not name a type
   PFNGLBLENDEQUATIONPROC pGlBlendEquation;
   ^
COpenGLExtensionHandler.h: In member function ‘void irr::video::COpenGLExtensionHandler::extGlBlendEquation(GLenum)’:
COpenGLExtensionHandler.h:2566:6: error: ‘pGlBlendEquation’ was not declared in this scope
  if (pGlBlendEquation)
      ^
<builtin>: recipe for target 'COpenGLParallaxMapRenderer.o' failed
make: *** [COpenGLParallaxMapRenderer.o] Error 1
 
After some looking through the Mesa mailing list I found out that the typedef of PFNGLBLENDEQUATIONPROC was removed from the gl.h because it is also defined in the glext.h. It was a bugfix for the FreeBSD OS. The e-mail on the mailing list can be found here: http://web.archiveorange.com/archive/v/ ... B5ptzkv9q0

Can anyone confirm that? My guess is that glext.h has to be included as well where PFNGLBLENDEQUATIONPROC is used but I am not sure if this triggers a new bug in older Mesa version because of multiple typedefs. Any ideas to fix that? :?

regards :)
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by Nadro »

Do you use trunk or some other Irrlicht version/branch? In trunk this issue doesn't exist (PFNGLBLENDEQUATIONPROC is here):
http://sourceforge.net/p/irrlicht/code/ ... ht/glext.h
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
fraang
Posts: 3
Joined: Tue Apr 22, 2014 5:38 pm

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by fraang »

I use version 1.8.1. :wink:
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by Nadro »

Irrlicht v1.8.1 include outdated glext.h. You can replace existing glext.h in "source/Irrlicht/" by this one:
http://sourceforge.net/p/irrlicht/code/ ... ht/glext.h
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
CuteAlien
Admin
Posts: 9634
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by CuteAlien »

Maybe we could backport this - or would it break compile or binary compatibility? (basically depends if any of the old functions would be removed/changed). If we can savely backport it then it would be ok copying it also into svn release branch 1.8 - just mention that it's a backport (so the next person merging does ignore it).

Thought as far as I understand from the backtracker about this it is about a library version from a distribution. Which we can't fix (we could do a new 1.8 release and hope distro's include it, but will probably be a while until I find time for doing that again).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
fraang
Posts: 3
Joined: Tue Apr 22, 2014 5:38 pm

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by fraang »

I use Gentoo GNU/Linux. Sadly there is only the version 1.8.1 and no newer one. Normally there is a "9999" version which is a direct copy of the upstream development repo. I am sure they will include the fixed version if it is available. Nevertheless I will try to contact some "in charge" to get the 9999 version to solve future problems like this.

Thx for your help! :D
CuteAlien
Admin
Posts: 9634
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by CuteAlien »

You can always work with Irrlicht svn trunk. You find the command to check-out here: https://sourceforge.net/p/irrlicht/code/HEAD/tree/
Then go to the source/Irrlicht folder and call make. Not much harder than installing distro packages and you can work with the most current versions :-)
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Definition of PFNGLBLENDEQUATIONPROC

Post by hybrid »

Yeah, I digged into this today. It's a bug in the glext.h file indeed, Khronos made some wrong ifdef's there. Unfortunately, they don't publish changelogs. Anyway, I now copied the newer glext.h from trunk which should work. It could have been recognized earlier, though, if Mesa didn't put the missing typedef into their own gl.h for some unknown reasons - which thus covered this problem for quite a while^^
Post Reply