Problems with glext.h

Trying to build your own version of Vega Strike and having problems? Unix users, paste your config.log here (stderr output alone is not helpful).
foxcub
Star Pilot
Star Pilot
Posts: 6
Joined: Tue May 06, 2003 1:02 am

Problems with glext.h

Post by foxcub »

The problem that I'm having is not specific to VegaStrike, however, it appears during vegastrike's compilation, and its main effect that has any relevance to me is that I cannot compile VegaStrike (and I want to try the game), so I figured I would ask here if anybody has any thoughts/suggestions. The problem is with the file glext.h. It is present in the system, however, it is causing problems: VegaStrike used to complain about it during configure (something along the lines - the file is present but does not compile), and it definitely dies while compiling gl_misc.cpp (in gldrv) with the error that some functions (that are actually declared in glext.h) are undeclared. I do not know what is going on, and what sort of dependencies I screwed up, and at what point, but it's really bugging me; so if anyone has any suggestions about what I can try to fix this problem, I'd greatly appreciate them.

I'm running Gentoo Linux.

Thank you in advance for your help.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

I've fought with this problem for a long while--- I *thought* I had a solution but it didn't end up working....

it all works if you put *my* glext.h into the toplevel vegastrike/src directory let me uploda it and you can tell me if that fixes it for you

http://hkn.eecs.berkeley.edu/~daniel/glext.h
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
foxcub
Star Pilot
Star Pilot
Posts: 6
Joined: Tue May 06, 2003 1:02 am

Post by foxcub »

That didn't seem to do it; what is the nature of the problem? Why is it not seeing the functions? Is the includes list (-I) incomplete, or what is going on?

Thanks.

Code: Select all

make[3]: Leaving directory `/var/tmp/portage/vegastrike-0.3.1/work/vegastrike/src/gfx'
Making all in gldrv
make[3]: Entering directory `/var/tmp/portage/vegastrike-0.3.1/work/vegastrike/src/gldrv'
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ../   -D_UDP_PROTO -DHAVE_SDL=1 -DSDL_WINDOWING=1      -DHAVE_AL=1   -I/usr/include/python2.2 -DHAVE_PYTHON=1  -I../boost129 -I../../boost129 -I../src/boost129 -DUSE_BOOST_129   -march=athlon-tbird -O3 -pipe -O2 -g -Wall  -ffast-math -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/include/SDL -D_REENTRANT -pipe  -c gl_state.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ../   -D_UDP_PROTO -DHAVE_SDL=1 -DSDL_WINDOWING=1      -DHAVE_AL=1   -I/usr/include/python2.2 -DHAVE_PYTHON=1  -I../boost129 -I../../boost129 -I../src/boost129 -DUSE_BOOST_129   -march=athlon-tbird -O3 -pipe -O2 -g -Wall  -ffast-math -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/include/SDL -D_REENTRANT -pipe  -c gl_misc.cpp
gl_state.cpp: In function `void GFXActiveTexture(int)':
gl_state.cpp:324: `glActiveTextureARB' undeclared (first use this function)
gl_state.cpp:324: (Each undeclared identifier is reported only once for each
   function it appears in.)
gl_misc.cpp: In function `void GFXCircle(float, float, float, float)':
gl_misc.cpp:37: warning: initialization to `int' from `float'
gl_misc.cpp:37: warning: argument to `int' from `float'
make[3]: *** [gl_state.o] Error 1
make[3]: *** Waiting for unfinished jobs....
gl_misc.cpp: In function `void GFXBegin(POLYTYPE)':
gl_misc.cpp:95: warning: `GLenum mode' might be used uninitialized in this
   function
gl_misc.cpp: In function `void GFXTexCoord4f(float, float, float, float)':
gl_misc.cpp:157: `glMultiTexCoord2fARB' undeclared (first use this function)
gl_misc.cpp:157: (Each undeclared identifier is reported only once for each
   function it appears in.)
make[3]: *** [gl_misc.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/vegastrike-0.3.1/work/vegastrike/src/gldrv'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/vegastrike-0.3.1/work/vegastrike/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/vegastrike-0.3.1/work/vegastrike'
make: *** [all-recursive-am] Error 2
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

if you can give me a login on your machine (mail it to danielhorn at mindspring dotten kom (with a c of course) then I can fix this for everyone involved... unfortunately it works fine on my mahcine...else you just have to debug it by putting #error directives next to that function in glext.h until it hits the error
and then see where it stops hitting the erorr
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

the most brilliant khepri has found the error and said that I simply forgot to terminate an #ifdef in the file

woohoo good going--- works for me (tM) now should be works for everyone

try updating and tell me if it works
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
foxcub
Star Pilot
Star Pilot
Posts: 6
Joined: Tue May 06, 2003 1:02 am

Post by foxcub »

hellcatv wrote:the most brilliant khepri has found the error and said that I simply forgot to terminate an #ifdef in the file
Which file?
hellcatv wrote:try updating and tell me if it works
Which sources are we talking about here? Stable (download script), stable source rpms, unstable cvs? I'm trying a couple of them now but they don't seem to be too cooperative: I'll let you know more when I figure it out...
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

cvs
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
foxcub
Star Pilot
Star Pilot
Posts: 6
Joined: Tue May 06, 2003 1:02 am

Post by foxcub »

Can you tell me what modifications and in what file I need to make in the stable branch (well, rather in the stuff that one gets from source rpms) - unstable cvs is a pain to compile - most of the time I can't get with it to the glext problem because it dies on something simpler and earlier...
Lasker
Merchant
Merchant
Posts: 36
Joined: Wed May 07, 2003 1:01 am

Post by Lasker »

hellcatv wrote:I've fought with this problem for a long while--- I *thought* I had a solution but it didn't end up working....

it all works if you put *my* glext.h into the toplevel vegastrike/src directory let me uploda it and you can tell me if that fixes it for you

http://hkn.eecs.berkeley.edu/~daniel/glext.h
Got the same problem here with cvs.
Here's a snippage from ./configure with and without your glext.h:
(Don't seem to recognize your special one in vegastrike/src)

Code: Select all

checking for GLU library... yes
checking for GL/gl.h... yes
checking GL/glext.h usability... no
checking GL/glext.h presence... yes
configure: WARNING: GL/glext.h: present but cannot be compiled
configure: WARNING: GL/glext.h: check for missing prerequisite headers?
configure: WARNING: GL/glext.h: proceeding with the preprocessor's result
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to bug-autoconf@gnu.org. ##
configure: WARNING:     ## ------------------------------------ ##
checking for GL/glext.h... yes
checking whether glext.h is recent enough... yes  <-- funny, that last one, isn't it?
Since this is a warning only I tried a make anyway, which bailes out very soon:

Code: Select all

make  all-recursive
make[1]: Entering directory `/home/pi/DLOAD/vegastrike'
Making all in src
make[2]: Entering directory `/home/pi/DLOAD/vegastrike/src'
Makefile:508: *** missing separator.  Schluss.
make[2]: Leaving directory `/home/pi/DLOAD/vegastrike/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/pi/DLOAD/vegastrike'
make: *** [all] Fehler 2
I'm running Mandrake 9.1 with a gforce-gts and newest drivers from nvidia.
the most brilliant khepri has found the error and said that I simply forgot to terminate an #ifdef in the file
woohoo good going--- works for me (tM) now should be works for everyone
try updating and tell me if it works
Could you please be a bit more specific here?
Ok, foxcub already asked you:"Which file?" and your answer was "cvs".
Good man, do you really expect someone to understand this? :shock:
foxcub
Star Pilot
Star Pilot
Posts: 6
Joined: Tue May 06, 2003 1:02 am

Post by foxcub »

"cvs" was his answer to the second question (which sources?). The only problem is that they do not seem to be fixed for me, and are actually very unpleasant to deal with: it seems you have to be root to compile them (depmod is being used), and they most of the time die on me because of some screwed up preprocessor directives (along the lines of including <iostream> (which should be iostream, not iostream.h, by the way) inside extern "C" - which makes the compiler go bezerk). What is even less fortunate is that running make second time (after fixing a suspected problem) doesn't work for some other reasons - either it doesn't find depmod which seems to be expected in some very specific directory (../../../depmod or something like that - as opposed to /sbin/depmod), or some other compiler directives.

This is basically the reason why I am asking for the file in which the change needs to be made - I want to modify the stable sources, since with them I can get at least somewhere close to the real problem...
Lasker
Merchant
Merchant
Posts: 36
Joined: Wed May 07, 2003 1:01 am

Post by Lasker »

foxcub wrote:...it seems you have to be root to compile them...
Very strange, it's the first time I had to be root even for configure and make (usually for make install only)...
Btw I tried the RPMs before CVS, but they also seemed to be srewed.
dandandaman
Artisan
Artisan
Posts: 1270
Joined: Fri Jan 03, 2003 3:27 am
Location: Perth, Western Australia
Contact:

Post by dandandaman »

Lasker wrote:
foxcub wrote:...it seems you have to be root to compile them...
Very strange, it's the first time I had to be root even for configure and make (usually for make install only)...
Btw I tried the RPMs before CVS, but they also seemed to be srewed.
odd......no-one but you have had these problems...I can configure and make fine without being root...

as for the rpms, they were built on redhat 8....so a few libs may be different for you with mandrake 9.1....other than that they should be fine

Dan.a
Guest

Post by Guest »

I should be careful when stating that one needs to be root to build the library: it seems that the compilation process invokes "depmod" which normally is located in /sbin (which requires root privileges); it does, however, address it using a relative pass which makes me suspect that I am confusing something. However, the cvs download/install scripts provided on the download page contain statements in them that install vegastrike into /usr/local (which is usually done by make install), usually this also requires root privileges (although, this, of course, depends on one's system's individual configuration), which also leads me to believe that whoever wrote the scripts expected the user to run them as root.
Lasker
Merchant
Merchant
Posts: 36
Joined: Wed May 07, 2003 1:01 am

Post by Lasker »

Got it!
Just did my very first flight thanks to hellcatv's advice from another thread:

Code: Select all

aclocal
autoconf
automake -a --add-missing
./configure
gmake
and, for completeness: gmake install
Worked for me with sources from cvs and ~100000 warnings though, but who cares.
But now it's manual-time before I'll nerve everybody with new questions... :twisted:
foxcub
Star Pilot
Star Pilot
Posts: 6
Joined: Tue May 06, 2003 1:02 am

Post by foxcub »

Alright, all of my comments above (well, the ones about root) are non-sense, I don't know what I was thinking, where I saw depmod, or what was the deal, but I appologize for them - it's finals time, so everything is a little crazy around here. The above way worked perfectly for me (thanks, Lasker and hellcatv). I will be more careful (read forums more) before posting next time. Although, where do I ask about OpenGL, and suspicion that it's not picking up hardware accelleration?

Sorry for wasting your time, and thanks.

P.S. The only thing is: maybe these instructions would be more helpful on the download page in place of that cvs sources download/compile/install script?
Lasker
Merchant
Merchant
Posts: 36
Joined: Wed May 07, 2003 1:01 am

Post by Lasker »

Just tried to make a RPM for Mandrake 9.1 users but run into a little OT-problem.
BTW, the RPM is already finished (made by 'checkinstall').
The problem are my nvidia-drivers which are installed by the new installer script from nvidia and thus not present in my RPM-database.
When I want to install the RPM it now complains about missing dependency to libGLcore.so.1, which off course is present in /usr/lib.
Any ideas on how to get around this?
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

rpm -Uvh --no-deps vegastrike*.rpm

or is it --nodeps
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
Lasker
Merchant
Merchant
Posts: 36
Joined: Wed May 07, 2003 1:01 am

Post by Lasker »

hellcatv wrote:rpm -Uvh --no-deps vegastrike*.rpm
or is it --nodeps
The latter.
Strange enough, even this doesn't work for me:
At first it seems to work, but after RPM -e and reinstalling the resulting RPM I run into the same odd situations like any other (VS-)RPMs before.
checkinstall itself doesn't complain about missing libGLcore.so.1, but the resulting RPM does!

*for those who never heard about checkinstall: It's kind of replace for 'make install'.
It installs, makes (or better: should make) proper entries in your RPM database and writes the RPM.
bobdickgus
Trader
Trader
Posts: 30
Joined: Wed Jan 08, 2003 2:53 am

Post by bobdickgus »

urpmi --allow-nodeps *.rpm

then type y when it says install without checking dependencies(y/n)
Blah Blah Yackarty Smackarty!
Guest

Post by Guest »

Could someone please clarify exactly which file needs to be modified in what way to get rid of the glext.h problem?

Also, no matter what I do, ./configure fails to locate libglut. I installed an rpm of it to no avail, then downloaded the sources, compiled it, installed it in /usr/lib along with links to it every /lib directory I have, and it still can't find it. Any pointers would be great.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

hmmm maybe make sure you have libglut-dev?
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
Guest

Post by Guest »

Thanks for the reply. It's an issue with RH9 and glut:

http://groups.google.com/groups?hl=en&l ... e%2BSearch

Should have known better than to post before googling! :roll:
Guest

Post by Guest »

does anybody know this problem after starting linux-0.3.9- ... .sh??

checking GL/glext.h presence... yes
configure: WARNING: GL/glext.h: present but cannot be compiled
configure: WARNING: GL/glext.h: check for missing prerequisite headers?
configure: WARNING: GL/glext.h: proceeding with the preprocessor's result
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to bug-autoconf@gnu.org. ##
configure: WARNING: ## ------------------------------------ ##
checking for GL/glext.h... yes

is there a work around available?

I'm using Suse 8.2
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

it's just a warnign not an error

what's the real problem...or does it make it through ./configure
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
Guest

Post by Guest »

it is making it through ./configure. I have the version of glext.h from "vega-proj-new" cvs or similar.
strange is, that now, after i installed all development things from the SuSE 8.2 Prof DVD(~ 1.5 GB) and using your command order(aclocal,autoconf,automake -a --add-missing,./configure,gmake and, for completeness: gmake install) it shows no errors except of this one!
make showed a lot of warnings but didn't broke up and the game is funktionable.

but without sound. to I need to configure SDL itself? my standard sound deamon ist artsnd or similar.

if it would help I can post my config.log
Post Reply