nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Solaris (http://www.nvnews.net/vbulletin/forumdisplay.php?f=45)
-   -   Locating symbol sunOglCurPrimTablePtr in Solaris-x86 OpenGL libraries (http://www.nvnews.net/vbulletin/showthread.php?t=149650)

yowkee 04-01-10 10:55 PM

Locating symbol sunOglCurPrimTablePtr in Solaris-x86 OpenGL libraries
I was porting a C++ program from Solaris Sparc to Solaris 10 x86. The program utilizes OpenGL library and the compilation is performed in a Sun Ultra27 workstation with the default GCC (3.4.3) and OpenGL library come with the machine. The NVIDIA graphic card is Quadro FX380.

However, the following OpenGL API call couldn't found while linking:


Undefined symbol                    first referenced in file
sunOglCurPrimTablePtr              ../../lib/libgltt.so
sunOglCurrentContext                ../../lib/libgltt.so

which, both sunOglCurPrimTablePtr and sunOglCurrentContext should be available in the default OpenGL library /usr/lib/libGL.so (links to /usr/X11/lib/NVIDIA/libGL.so.1). At least they are existed in the OpenGL libraries in Sparc Solaris. But I couldn't find anything from libGL.so:


> nm /usr/lib/libGL.so

(NOTE: the symbol reference are all stripped from the released NVIDIA OpenGL library?)

Searching on web, SUN or Nvidia didn't lead to any helpful resource. Any clue or helps?

Thanks a lot in advance!

AaronP 04-07-10 02:14 PM

Re: Locating symbol sunOglCurPrimTablePtr in Solaris-x86 OpenGL libraries
The NVIDIA libGL only has dynamic symbols, so you have to pass the -D option to nm to make it list those.

As for the sunOgl* symbols, those are not part of the OpenGL standard and sound like SUN OpenGL extensions. I don't know why libgltt would be using those, but that sounds like a bug in that library. A quick search of the GLTT source from http://gltt.sourceforge.net/download.html doesn't show any references to those symbols, and OpenSolaris doesn't seem to have a package for gltt.

yowkee 04-08-10 09:36 PM

Re: Locating symbol sunOglCurPrimTablePtr in Solaris-x86 OpenGL libraries
Thanks Aaron!

Understood these sunOgl* symbol are not part of the OpenGL standard. It's included in the libGL.so distributed with Solaris Sparc 8-10. In Solaris Sparc, our application seem to refer to these symbols too (besides GLTT).

As you said, checking on GLTT source couldn't find the reference. Do you know how is this "indirect reference/linking" is being done? (sorry for off-topic question)

Also, do you have any advice where (in SUN) I could contact to refer to this?

Thank you!

yowkee 04-08-10 11:04 PM

Re: Locating symbol sunOglCurPrimTablePtr in Solaris-x86 OpenGL libraries
It turned out that certain standard OpenGL API would be translated into SUN's internal functions. By defining SUN_OGL_NO_VERTEX_MACRO compilation flag, the program wouldn't refer to sunOgl* symbol anymore and the issue resolved.

The information is found at http://java423.vicp.net:8652/infoser...-210284-1.html, item 9:

Without the SUN_OGL_NO_VERTEX_MACRO compilation flag, all calls to glVertex*(), glNormal*(),
glColor*(), glIndex*() and glTexCoord*() will be translated into internal, performance-enhanced routines.
These function calls will NOT show up when dbx() is used, or when performing SLI-related interposing of
OpenGL for Solaris applications.
I'm not sure where exactly did this translation occur, but our issue resolved! :)

All times are GMT -5. The time now is 09:24 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.