OpenGL-1.1.0 link problem (glXMakeCurrent undefined symbols)

Phan, Linh H linh.h.phan@jpl.nasa.gov
Tue Dec 9 19:08:00 GMT 2008


Hi Andre,

> Either you follow the Win32 road ...
> Or you follow the X server road.

I have been following the X server road (libGL-devel, libGL1, libGLU-devel, libGLU1 and that has been working fine for me) but I guess those are Mesa libraries which does not benefit from hardware acceleration, so when I read your opengl announcement:

> These programs can display through the native Windows interface (Win32)
> and benefit from hardware and driver acceleration.

I wanted the benefit from hardware acceleration, even though I don't care for the Windows interface.  Is it possible for me to not use the Windows interface but benefit from the hardware acceleration?

Thank you Andre,

Linh

-----Original Message-----
From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] On Behalf Of André Bleau
Sent: Tuesday, December 09, 2008 6:06 AM
To: cygwin@cygwin.com
Subject: Re: OpenGL-1.1.0 link problem (glXMakeCurrent undefined symbols)


"Phan, Linh H"  wrote:

> Hi,

Hi Linh,

>   I'm trying to port OpenInventor code and using the new opengl-1.1.0 and I am getting
> undefined _glXMakeCurrent symbols:
> /usr/bin/CC -g Main.o ClassDef.o Man.o Reader.o Writer.o BuildIssues.o -lInventor -lstdc++
>  -L/usr/X11R6/lib -L/usr/local/lib -limage -ljpeg -liconv -lFL -lfreetype
> -lglu32 -lopengl32 -lXm -lXt -lXext -lXi -lX11 -lm   -o ivman
> /usr/local/lib/libInventor.a(So.o): In function `_ZN19SoOffscreenRendererD2Ev':
> /usr/local/src/inventor2/lib/database/src/so/SoOffscreenRenderer.c++:173: undefined reference to
>  `_glXDestroyGLXPixmap'
> /usr/local/src/inventor2/lib/database/src/so/SoOffscreenRenderer.c++:174: undefined reference to
>  `_glXDestroyContext'
> /usr/local/src/inventor2/lib/database/src/so/SoOffscreenRenderer.c++:755: undefined reference to
>  `_glXMakeCurrent'
> ...
> I could see it in:
> [phan@phan-xp ...inventor2/lib]$ nm /usr/X11R6/lib/libGL-1.dll.a |grep glXMakeCurrent
> 00000000 I __imp__glXMakeCurrentReadSGI
> 00000000 T _glXMakeCurrentReadSGI
> 00000000 I __imp__glXMakeCurrent
> 00000000 T _glXMakeCurrent
> What library in the new opengl-1.1.0 can I used to fix this problem?
> Thank you,
> Linh
>

Yeurk! The problem here is that you are trying to mix to incompatible things:

1- libraries from the w32api package (-lglu32 -lopengl32) which are about displaying
openGL graphics directly through a native Windows interface (Win32) without any X server;

2- some other librairies (-lX...) that are about displaying through an X server.

Than cannot work. You must make up your mind:

Either you follow the Win32 road and you move your discussion to
cygwin at cygwin dot com (as Yaakov suggested).

Or you follow the X server road. As OpenInventor is some SGI thing, it is probably
the best choice. In that case, you should update all your X11-related packages
(-L/usr/X11R6/lib is related to the old version). In particular, you will need
the following packages: libGL-devel, libGL1, libGLU-devel, libGLU1, which are
about displaying openGL graphics through an X server. In that case, keep the
discussion at cygwin-xfree at cygwin dot com.


- André Bleau, Cygwin's volunteer OpenGL package maintainer.

Please direct any question or comment about the OpenGL package to cygwin at cygwin dot com
_________________________________________________________________


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


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



More information about the Cygwin mailing list