Hi,
I am loathe to ask this because I know you are all probably very busy
and feel that "here is yet another turnip who has not RTFM."
I am an experienced Unix systems programming type person although
relatively new to the Linux environment.
My previous experience has been with a large number of different SGI
boxes and I was delighted to see the OpenInventor port. I grabbed the
RPMS:
sgi-OpenInventor-clients-2.1.5-6.i386.rpm
sgi-OpenInventor-devel-2.1.5-6.i386.rpm
sgi-OpenInventor-data-2.1.5-6.i386.rpm
installed, rehashed my path and headed to the /usr/share/data/models to try
ivview.
Unfortunately ivview said different size for XmStrings, try relinking.
But worse:
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
Segmentation fault (core dumped)
And yes I was sitting on the machine, not remotely, my DISPLAY was set
correctly.
I do have the NVIDIA drivers and GLX (0.9-2). I believe I have cleared out the
Mesa libraries.
My system is:
teapot % uname -a
Linux teapot 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown
I thought that maybe the Motif libraries shipped with RedHat 6.2 were causing
the problem.
I grabbed a new LessTif to create a new libXm
ls -l /usr/X11R6/lib/libXm.*
-rw-r--r-- 1 root root 1410926 Jan 29 1999 /usr/X11R6/lib/libXm.a
-rw-r--r-- 1 root root 459 Jan 29 1999 /usr/X11R6/lib/libXm.la
lrwxrwxrwx 1 root root 32 Apr 5 11:04 /usr/X11R6/lib/libXm.so
-> ../LessTif/Motif2.0/lib/libXm.so*
lrwxrwxrwx 1 root root 34 Apr 6 09:06
/usr/X11R6/lib/libXm.so.1 -> ../LessTif/Motif1.2/lib/libXm.so.1*
lrwxrwxrwx 1 root root 14 Apr 5 11:04
/usr/X11R6/lib/libXm.so.2 -> libXm.so.2.0.1*
lrwxrwxrwx 1 root root 38 Apr 5 11:04
/usr/X11R6/lib/libXm.so.2.0.0 -> ../LessTif/Motif2.0/lib/libXm.so.2.0.0*
-rwxr-xr-x 1 root root 3928115 Apr 2 20:51
/usr/X11R6/lib/libXm.so.2.0.1*
Same refusal problem - XmStrings has gone away.
Grabbed the openinventor code and started compiling as per the instructions.
Hit a snag with the doc creation because the use of ivman had the same above
problem with refusal by server.
IF I create the ivman binary with static linking, it works, so does ivview:
/usr/bin/g++ -L../../samples/widgets ivview.o
../../samples/widgets/libInventorWidget.a ../../../libSoXt/libInventorXt.a \
../../../lib/libInventor.a \
-L/usr/X11R6/lib -lXm -lXt -lXext -lXi -lX11 -lm -lInventor
-lGLU -lGL -lXp
But the standard dynamic link always gives the above error.
The statically linked ivman now creates the docs but a later error - no
Motifdrawingareawidget class - stopped further compilation.
Got the Mesa source, compiled the widgets-sgi source with Motif included,
updated the library.
Continued the compile and all compiles ok. The binary directory looks like:
total 576
-rwxr-xr-x 1 raytrace staff 17332 Apr 11 17:35 ivinfo*
-rwxr-xr-x 1 raytrace staff 94604 Apr 11 17:35 ivfix*
-rwxr-xr-x 1 raytrace staff 21830 Apr 11 17:35 ivcat*
-rwxr-xr-x 1 raytrace staff 104212 Apr 11 17:35 ivview*
-rwxr-xr-x 1 raytrace staff 124371 Apr 11 17:35 ivdowngrade*
-rwxr-xr-x 1 raytrace staff 44 Apr 11 17:35 iv2toiv1*
-rwxr-xr-x 1 raytrace staff 180338 Apr 11 17:35 SceneViewer*
and the dynamically compiled ivview looks like:
teapot % ldd ivview
libInventorXt.so => /usr/lib/libInventorXt.so (0x4001b000)
libInventor.so => /usr/lib/libInventor.so (0x400a1000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2
(0x404ef000)
libm.so.6 => /lib/libm.so.6 (0x40531000)
libc.so.6 => /lib/libc.so.6 (0x4054f000)
libXm.so.1 => /usr/X11R6/lib/libXm.so.1 (0x40644000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x4073f000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40787000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40794000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4079c000)
libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x4085f000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x4087b000)
libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x408a5000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x408ac000)
libdl.so.2 => /lib/libdl.so.2 (0x408cb000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x408cf000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x408d9000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x408ef000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40a55000)
But still I get the server refusal.
Looks like a NVIDIA driver problem but I cant see why? I think this is a red
herring.
And why does the statically linked code work but not the dynamic (besides the
obvious reason).
So, if you are not fed up by the end of reading this long email (purposefully
made long
to help you in your understanding), then if you could shed some light on this I
would
appreciate it as I would love to continue teaching Inventor on the new Linux
boxes that
we have.
If you need any more information, just email and I will oblige.
If you could point me to some rpms not suffering this problem, etc,etc, I would
love it.
thanks for your time and hope this is not tooooooo onerous.
bye for now
Andrew Marriott.
Senior Lecturer.
--------------------------------------------+----------------------------------
* Internet: raytrace@xxxxxxxxxxxxxxxx *
* URL : http://www.cs.curtin.edu.au/~raytrace/ *
* *
* Mail : School of Computing | Tel: +618 9266 7680 *
* Curtin University of Technology | Fax: +618 9266 2819 *
* Hayman Road, Bentley *
* Western Australia, 6102 *
--------------------------------------------+----------------------------------
|