I'm not certain if I've got the absolute latest drivers, but they are reasonably updated.  I see the problem on my Macbook Pro under Parallels, rebooted into Windows via Boot Camp, and on a dedicated Windows 7 machine (via py2exe).  All exhibit the same behavior (pop up an alert box, then work fine); though I suspect that's because I'm not using anything provided by the gle32.dll.

My Boot Camp partition is a fairly recent install, and I purposefully keep it minimal for testing purposes (ie. no old versions of Python, etc.).  That probably doesn't match most testing environments; I could see a dependency on an old version of msvcr slipping through.

What will it take to fix this?  Should I start looking into recompiling PyOpenGL from source?  Or will a fixed 3.0.2 come out in the near future?

Thanks,
Eli

On Wed, Feb 9, 2011 at 4:23 AM, Alejandro Segovia <asegovi@gmail.com> wrote:
Hello Eli,

On Feb 9, 2011, at 7:07 AM, Jonathan Hartley <tartley@tartley.com> wrote:

Ah, so does that imply that it's not Python2.7 which is using msvcr71, it's gle32.dll, which presumably was compiled against that version of the C runtime.

Okay, the problem seems to be in our OpenGL implementation then. Have you installed the latest video drivers for your video card or are you using the stock windows version? 

If you're on NVIDIA or ATI, upgrading your video drivers might help. 

Alejandro.-

Eli Stephens wrote:

Hello, :)

The error can be provoked by "import OpenGL.GL" from the interactive prompt in Python, so it seems unlikely to be anything but PyOpenGL.  I used dependency walker, and see the following tree:

python.exe
- python27.dll
   - _ctypes.pyd
      - opengl32.dll
      - gle32.dll
         - msvcr71.dll

Obviously there are a ton of other files loaded as well; if any of them could be pertinent, let me know and I will search for them.  Do other people's installs under python 2.7 not try and load msvcr71.dll?

Additionally, after the alert box, dependency walker spat out hundreds of error messages like:

GetProcAddress(0x5ED00000 [OPENGL32.DLL], "_FunctionType@108") called from "_CTYPES.PYD" at address 0x1D1A39C7 and returned NULL. Error: The specified procedure could not be found (127).

I'm not sure if that's related or not.

Thanks for helping me chase this down.  :)

Eli

On 09/02/2011 08:43, Jonathan Hartley wrote:
Beware: When downloading the redistributable installer for MSVCR90.dll, it is important not to use the SP1 version of the installer. This contains the wrong version of MSVCR90.dll.

A similar problem *may* exist with the redistributable installer for MSVCR71.dll, linked to below. It may contain a wrong version of MSVCR71.dll, which would cause problems. Someone with experience of this feel free to contradict me here.

The original version of Microsoft Visual C++ 2005 Redistributable Package (x86), as linked to from the py2exe tutorial page:

http://www.microsoft.com/downloads/en/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee

...is known to contain the correct version of MSVCR71.dll for Python 2.5.

All of the above assumes you are using the compiled version of Python downloaded from python.org. If you compiled your own (or got it from someone else who compiled their own) then I don't know enough about your situation for any of my advice to be meaningful.

Best regards,

    Jonathan

On 08/02/2011 23:41, Silverstein wrote:



You can also get these dll files by downloading and installing the Microsoft Visual C++ redistributable package. It's a free download and will spare you (and your users) from having to install Visual Studio. 

Please notice there are different redistibutable versions, each one corresponding to msvcrt 71, 80 and 90 with both x86 and x64 flavors. 
There are also different releases for each of these typically.  For example, the initial release or a service pack (like an SP1) release.  For example:

Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en

------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________ PyOpenGL Homepage http://pyopengl.sourceforge.net _______________________________________________ PyOpenGL-Users mailing list PyOpenGL-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyopengl-users

-- 
Jonathan Hartley      Made of meat.      http://tartley.com
tartley@tartley.com   +44 7737 062 225   twitter/skype: tartley

------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________ PyOpenGL Homepage http://pyopengl.sourceforge.net _______________________________________________ PyOpenGL-Users mailing list PyOpenGL-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyopengl-users

-- 
Jonathan Hartley      Made of meat.      http://tartley.com
tartley@tartley.com   +44 7737 062 225   twitter/skype: tartley

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
PyOpenGL Homepage
http://pyopengl.sourceforge.net
_______________________________________________
PyOpenGL-Users mailing list
PyOpenGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyopengl-users

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
PyOpenGL Homepage
http://pyopengl.sourceforge.net
_______________________________________________
PyOpenGL-Users mailing list
PyOpenGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyopengl-users