Linux Crashing
by Robert Blanchet Jr. · in Torque Game Engine · 02/07/2003 (10:54 am) · 17 replies
Fatal: (sceneGraph/sceneState.cc @ 117)
Error, object of class WaterBlock either unbalanced the xform stacks, or didn't reset the viewport! mv(2 2) proj(1 1) t0(1 2) t1(1 1) (0 0 800 600: 0 0 800 600)
I just got gone installing Mandrake 9.0, I then updated my nvidia drivers (I have a geforce 4 btw), I then downloaded the mesa3d opengl source and compiled. I got all the appropriate SDL and OpenAl sources installed correctly as well. Torque compiled fine but when its loading the game right before it dumps me into the game after loading it crashes to the error above.
Also, I'm getting around 20fps just at the main menu :/ which I think is rather odd...
Error, object of class WaterBlock either unbalanced the xform stacks, or didn't reset the viewport! mv(2 2) proj(1 1) t0(1 2) t1(1 1) (0 0 800 600: 0 0 800 600)
I just got gone installing Mandrake 9.0, I then updated my nvidia drivers (I have a geforce 4 btw), I then downloaded the mesa3d opengl source and compiled. I got all the appropriate SDL and OpenAl sources installed correctly as well. Torque compiled fine but when its loading the game right before it dumps me into the game after loading it crashes to the error above.
Also, I'm getting around 20fps just at the main menu :/ which I think is rather odd...
#2
I normally do develop on Windows, but I decided to give linux a whirl a few days ago. So no, I havn't touched the code I got from HEAD at all.
The code I compiled is in DEBUG.
To be honest, I'm surprised I got as far as I did without posting for help cause I'm so new to linux it isn't even funny :)
I had some trouble getting torque to find my libGL libraries. I accidentally installed opengl after I installed the mesa3d opengl libraries and the nvidia rpms decided to rename alot of my mesa3d libraries which was causing the compiler not to find my libGL's. I got that sorted out by just deleting all the gl libraries that were reported via locate libGL and then reinstalling mesa. After that torque compiled just fine but now I have the error I reported above.
Any help or advice would greatly be appreciated.
02/07/2003 (11:25 am)
This is unmodified HEAD code from yesterday.I normally do develop on Windows, but I decided to give linux a whirl a few days ago. So no, I havn't touched the code I got from HEAD at all.
The code I compiled is in DEBUG.
To be honest, I'm surprised I got as far as I did without posting for help cause I'm so new to linux it isn't even funny :)
I had some trouble getting torque to find my libGL libraries. I accidentally installed opengl after I installed the mesa3d opengl libraries and the nvidia rpms decided to rename alot of my mesa3d libraries which was causing the compiler not to find my libGL's. I got that sorted out by just deleting all the gl libraries that were reported via locate libGL and then reinstalling mesa. After that torque compiled just fine but now I have the error I reported above.
Any help or advice would greatly be appreciated.
#3
02/07/2003 (11:55 am)
The mesa 3d libs are screwing with your nvidia gl driver. Uninstall the nvidia rpms and reinstall them, might clear things up for you.
#4
If you run glxinfo, make sure it says it's using the nvidia card...
Also you can use the little utility nvcheck to make sure your nvidia Gl installation is good. you can get it here
02/07/2003 (12:02 pm)
yeah, you shouldn't be using the mesa libGL, you should use the Nvidia ones. If you need the mesa libs to compile opengl programs, get the mesa3d-dev rpm packages...If you run glxinfo, make sure it says it's using the nvidia card...
Also you can use the little utility nvcheck to make sure your nvidia Gl installation is good. you can get it here
#5
I decided that going thorugh manually and removing all the libs wasn't such a great idea. So I uninstalled the nvidia packages the correct way and I just got done reinstalling them.
I'm in the process of rebuilding torque. I'll run the nvidia check program and see if that works too.
02/07/2003 (12:09 pm)
Thanks for the help.I decided that going thorugh manually and removing all the libs wasn't such a great idea. So I uninstalled the nvidia packages the correct way and I just got done reinstalling them.
I'm in the process of rebuilding torque. I'll run the nvidia check program and see if that works too.
#6
Running glxinfo in the console says this:
glxinfo: relocation error: /usr/local/lib/libGLU.so.1: undefined symbol: __gxx_personality_v0
Running a newly compiled version of torque(after reinstalled the opengl drivers) yields the same error reported in the first message.
I'm completely lost at what I should do at this point :/
02/07/2003 (12:48 pm)
Ok, I've uninstalled and reinstalled the opengl kernel and glx rpms.Running glxinfo in the console says this:
glxinfo: relocation error: /usr/local/lib/libGLU.so.1: undefined symbol: __gxx_personality_v0
Running a newly compiled version of torque(after reinstalled the opengl drivers) yields the same error reported in the first message.
I'm completely lost at what I should do at this point :/
#7
02/07/2003 (12:52 pm)
Torque is trying to load Mesa's GL library, not NVIDIAs. Make sure that /usr/lib is before /usr/local/lib in /etc/ld.so.conf.
#8
So apparantly my NVdriver kernel module isn't loaded.. and I don't really know what to do to fix it, anyone care to elaberate?
02/07/2003 (12:57 pm)
Ok I ran the nvidia checker and here is what I got:Quote:
Welcome to the NVidia Driver Installation Checker.
This shell script is meant to help you debug your installation
of the beta NVidia Linux drivers. It is not 100% foolproof.
In particular, you will definitely want to make sure you have
the correct options in your XF86Config to make X work properly.
This script cannot debug your X setup. That being said, it
should prove useful if are having problems with the drivers and
want to check the validity of your driver install.
At no time will this script EVER make changes to your system.
It is simply a diagnostic tool - fixes of any kind will have to
come from you.
Press enter to continue...
OK, the first thing we need to do is make sure your XF86Config file
is set up correctly. In order to do this, I'm first going to try
and find where this file might be...
checking /usr/X11R6/lib/X11/XF86Config...
not found
checking /usr/X11R6/etc/X11/XF86Config...
not found
checking /etc/XF86Config...
not found
checking /etc/X11/XF86Config...
found
checking /etc/X11/XF86Config-4...
found
I'm going to be doing my checking using /etc/X11/XF86Config-4. If this is not
actually your X config, then quit this script with Ctrl-C, remove
or rename the file, then run this script again.
Press enter to continue
I'm going to check your XF86Config file for the following things:
1) Loading the GLcore and glx modules
2) Specifying the nvidia driver instead of nv
Checking for the Load glx statement...
Load "glx"
It seems to be intact. Now lets see if you're loading the correct
video driver...
Driver "nvidia"
Everything seems fine in your X config file. This is not 100%
guaranteed to be accurate, but lets continue anyway (press enter)...
The next step involves making sure you have the proper files in
the right places, and that the kernel module loaded correctly.
Press enter to begin the test.
First lets make sure you don't have the old modules still present
by mistake...
Checking /usr/X11R6/lib/modules/extensions/libglx.a...
Checking /usr/X11R6/lib/modules/extensions/libGLcore.a...
You don't appear to have any conflicting older drivers. Now lets check
if the new driver files are in place...
Checking /usr/X11R6/lib/modules/drivers/nvidia_drv.o...
Checking /usr/X11R6/lib/modules/extensions/libglx.so...
Checking /usr/lib/libGL.so...
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x4005c000)
Checking /usr/lib/libGLcore.so.1...
All the files seem to exist. Now I'm going to see if your kernel
module is loaded correctly...
the NVdriver kernel module does not seem to be loaded. The 3D
drivers will not work without it...please compile it for your
kernel, set it up to insert the module on boot, then run
this script again.
Remember if you are having trouble compiling the module,
try adding -D_LOOSE_KERNEL_NAMES to the Makefile.
So apparantly my NVdriver kernel module isn't loaded.. and I don't really know what to do to fix it, anyone care to elaberate?
#9
/sbin/modprobe NVdriver
If it says it can't find it, try
/sbin/modprobe nvidia
And see if that works (if it works it just return without printing anything).
02/07/2003 (1:02 pm)
Hmm...try becoming root and type /sbin/modprobe NVdriver
If it says it can't find it, try
/sbin/modprobe nvidia
And see if that works (if it works it just return without printing anything).
#10
What does that do exactly? And now what? heh
02/07/2003 (1:07 pm)
Ok the first one didn't work but /sbin/modprobe nvidia did work, as in it didn't print anything.What does that do exactly? And now what? heh
#11
Your installs are still conflicting big time. ^ did you do that step and after that run ldconfig as root to update the files? Then recompile torque.
02/07/2003 (1:07 pm)
>Torque is trying to load Mesa's GL library, not NVIDIAs. Make >sure that /usr/lib is before /usr/local/lib in >/etc/ld.so.conf.Your installs are still conflicting big time. ^ did you do that step and after that run ldconfig as root to update the files? Then recompile torque.
#12
That installation verification script is old. Its using the wrong name (NVdriver) for the module. The module was recently renamed to "nvidia".
I suspect that your nvidia drivers are correctly installed, but mesa's GL is still getting loaded first by torque and other programs. /usr/lib must be before /usr/local/lib in order for NV's GL to get loaded. Check /etc/ld.so.conf to make sure this is the case. Also make sure that you don't have an LD_LIBRARY_PATH environment variable set up that is overriding the path:
env | grep "LD_LIBRARY_PATH"
02/07/2003 (1:17 pm)
modprobe installs the nvidia driver into the kernel. The nvidia kernel driver is required for its GL to work.That installation verification script is old. Its using the wrong name (NVdriver) for the module. The module was recently renamed to "nvidia".
I suspect that your nvidia drivers are correctly installed, but mesa's GL is still getting loaded first by torque and other programs. /usr/lib must be before /usr/local/lib in order for NV's GL to get loaded. Check /etc/ld.so.conf to make sure this is the case. Also make sure that you don't have an LD_LIBRARY_PATH environment variable set up that is overriding the path:
env | grep "LD_LIBRARY_PATH"
#13
Sorry for the stupid question.
02/07/2003 (1:25 pm)
How can I make sure the LD_LIBRARY_PATH is pointing to the right location? And if it isn't how do I change it so it is?Sorry for the stupid question.
#14
I'm looking through the doc now to see what it says.
02/07/2003 (1:28 pm)
I also changed ld.so.conf to reflect the changes you guys said to do, I then recompiled torque and when I run it I get this error:Quote:Error: Could not open /dev/nvidiactl because the permissions
are too resticitive. Please see the FREQUENTLY ASKED QUESTIONS
section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps
to correct.
Segmentation fault
I'm looking through the doc now to see what it says.
#15
you can set a variable like this
export LD_LIBRARY_PATH=/usr/bin:/usr/local/bin
For the permission problem, try doing this (as root)
chmod a+rw /dev/nvidiactl
02/07/2003 (1:40 pm)
Man, you've got one funky configuration. But hey its linux so that isn't uncommon ;)you can set a variable like this
export LD_LIBRARY_PATH=/usr/bin:/usr/local/bin
For the permission problem, try doing this (as root)
chmod a+rw /dev/nvidiactl
#16
Instead of doing:
That solved the entire problem.
02/07/2003 (7:27 pm)
Ok finally got it working. I just simply formatted and reinstalled linux, installed nvidia updates before installing mesaInstead of doing:
/configure --enable-static make make install I did /configure --enable-static make and then just copied the libGLU.a file from the mesa folder to /usr/X11R6/lib/
That solved the entire problem.
#17
www.ubergeek.tv/switchlinux/ (shockwave required)
02/07/2003 (7:54 pm)
Glad you got it worked out. Here's a funny link a friend sent me to help you reduce the accumulated stress.www.ubergeek.tv/switchlinux/ (shockwave required)
Torque Owner John Quigley
Is this unmodified HEAD code?
Do you normally develop on windows?
Do you use debug or release builds normally for testing?
If you normally develop on windows, and you've modified the configuration (added/removed files), have you updated the engine/targets.torque.mk file appropriately?