SGI: Development

Building GLchess on 6.2 - Page 1

It's been a while since I've done this, so please bear with me. I've got GNUchess to build, and I have GTK installed.

Code:
Making all in src
gmake[1]: Entering directory `/usr/people/smith/glchess-0.4.7/src'
gcc -DPACKAGE=\"glChess\" -DVERSION=\"0.4.7\" -DSTDC_HEADERS=1  -I. -I.      -I/usr/freeware/include/gtk-1.2 -I/usr/freeware/include/glib-1.2 -I/usr/freeware/lib32/glib/include   -c interface.c
interface.c:26: gtkgl/gtkglarea.h: No such file or directory
gmake[1]: *** [interface.o] Error 1
gmake[1]: Leaving directory `/usr/people/smith/glchess-0.4.7/src'
gmake: *** [all-recursive] Error 1

This is odd, because in the Makefile I have
Code:
GTK_CFLAGS = -I/usr/freeware/include/gtkgl -I/usr/freeware/include/gtk-1.2 -I/usr/freeware/include/glib-1.2 -I/usr/freeware/lib32/glib/include  -I/usr/freeware/include
GTK_CONFIG = /usr/freeware/bin/gtk-config
GTK_LIBS = -L/usr/freeware/lib32 -L/usr/freeware/include -lgtk -lgdk -lgmodule -lglib -lXi -lXext -lX11 -lm

The file gtkglarea.h is at /usr/freeware/include/gtkgl/gdkgl.h. What am I missing here?
Without reading the makefile, I'd assume they randomly chose not to use those variables...

_________________
:Octane: halo , oct ane
N.B.: I tend to talk out of my ass. Do not take it too seriously.
Managed get around makefile sillyness, now I'm up against C.

Quote:
gcc -DPACKAGE=\"glChess\" -DVERSION=\"0.4.7\" -DSTDC_HEADERS=1 -I. -I. -I/usr/freeware/include/gtk-1.2 -I/usr/freeware/include/glib-1.2 -I/usr/freeware/lib32/glib/include -I/usr/freeware/include -c interface.c
interface.c: In function `interface_idle':
interface.c:211: storage size of `sleep_time' isn't known



The offending bit is

Quote:
struct timeval sleep_time;

/* Sleep for some time */
sleep_time.tv_sec = 0;
sleep_time.tv_usec = 500;
select(0, NULL, NULL, NULL, &sleep_time);
}



Does that look obviously wrong?
johnsmith wrote:
interface.c:211: storage size of `sleep_time' isn't known

Does the file in question have either #include <sys/time.h> or #include <sys/resource.h> somewhere in it? Both define struct timeval, so you'll need one (and only one!) of them.

Also note that the definition in sys/time.h (which is probably the correct route) is surrounded by a couple of ifdef statements, so you'll need to add -D_BSD_TYPES to your CPPFLAGS environment variable or compiler command line to actually have it work.

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000
Thanks jpstewart, I added sys/time.h and it compiled!

The linker is now throwing errors :( Do I have to recompile everything as MIPS1?

Code:
gcc  -I/usr/freeware/include/gtk-1.2 -I/usr/freeware/include/glib-1.2 -I/usr/lib32 -I/usr/freeware/lib32/glib/include  -I/usr/freeware/include   -o glchess  anim.o config.o dialog.o draw.o engine.o game.o global.o image.o interface.o main.o menu.o models.o move.o player.o prefs.o san.o splash.o texture.o  -lgtkgl -I/usr/freeware/lib32 -lgtk -lgdk -lgmodule -lglib -lXi -lXext -lX11 -lm  -lGLU -lGL -mips1
ld32: WARNING 158: Expecting MIPS1 objects: /usr/lib32/mips3/crt1.o is MIPS3.
ld32: FATAL   12 : Expecting n32 objects: /usr/freeware/lib/libgtkgl.so is o32.
collect2: ld returned 4 exit status
johnsmith wrote:
Thanks jpstewart, I added sys/time.h and it compiled!

The linker is now throwing errors :( Do I have to recompile everything as MIPS1?

First thing to try is change the linker instructions in the Makefile from /usr/lib to /usr/lib32 .... Irix is probably the only system that has o32 and n32 choices so you have to deal with that manually sometimes..
johnsmith wrote:
Code:
ld32: FATAL   12 : Expecting n32 objects: /usr/freeware/lib/libgtkgl.so is o32.

As hamei mentioned, you need to be aware of the difference between lib (o32) and lib32 (n32) libraries. It appears you need to change /usr/freeware/lib to /usr/freeware/lib32 in this specific case. That's assuming, of course, that the freeware libgtkgl has an n32 library available.

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000
If you want to turn this into a nekoware package, you should not compile against freeware, but instead use the (probably much more current) packages from nekoware. Since the gnuchess in freeware is almost a decade old, you may want to update that first and build a nekoware for that.
johnsmith wrote:
gcc -I/usr/freeware/include/gtk-1.2 -I/usr/freeware/include/glib-1.2 -I /usr/lib32 -I/usr/freeware/lib32/glib/include -I/usr/freeware/include -o glchess anim.o config.o dialog.o draw.o engine.o game.o global.o image.o interface.o main.o menu.o models.o move.o player.o prefs.o san.o splash.o texture.o -lgtkgl -I /usr/freeware/lib32 -lgtk -lgdk -lgmodule -lglib -lXi -lXext -lX11 -lm -lGLU -lGL -mips1

There are lots of errors here.

First, if you want to add a search path for libraries, you use "-L", not "-I". "-I" is for adding a search path for C/C++ header files and is ignored while linking. Also, there's no need to add "-L/usr/lib32", it's searched by default.

"-mips1" is only for R2000/R3000 and requires the older O32 ABI. You shouldn't be using this on any modern SGI, it slows things down. Use "-mips4" if you're on a R5000 or newer, "-mips3" otherwise.

From a previous post it looks like you're compiling this without any optimization flags, which is a really bad idea. Add "-O2" to the compile line.

After you make these changes, it should work better :)
This is for an old Indy running 6.2, so it's not going to be neko compatible. I think the gtkglarea I have is o32. So I'll have to try to recompile everything for the old libs. The makefile from 2002 was built by autoconf, which is all greek to me. An older version from 2001 has a hand-built makefile, I'll give that a try and see where it gets me. Thanks for all the tips, I'm learning a lot.
Try this:
Code:
gcc -mips3 -O2 -DPACKAGE=\"glChess\" -DVERSION=\"0.4.7\" -DSTDC_HEADERS=1 -I. -I/usr/freeware/include -I/usr/freeware/include/gtk-1.2 -I/usr/freeware/include/glib-1.2 -I/usr/freeware/lib32/glib/include -o glchess *.c -L/usr/freeware/lib32 -lgtkgl -lgtk -lgdk -lgmodule -lglib -lXi -lXext -lX11 -lGLU -lGL -lm


This will compile all the .c files and link them into a "glchess" executable.
Thanks for the tip. I tried it, but if failed at the linking stage with can't mix o32 and n32.

So I wondered if GCC can do old style o32 binaries, so I tried Irix cc. Then I linked it, but it failed. So I suspect I have one offending n32 library somewhere. Maybe

Code:
/usr/freeware/lib32/libgtk-1.2.so:      ELF N32 MSB mips-3 dynamic lib MIPS - version 1
/usr/freeware/lib32/libgtk-1.2.so.1:    ELF N32 MSB mips-3 dynamic lib MIPS - version 1

So what now?
johnsmith wrote:
Thanks for the tip. I tried it, but if failed at the linking stage with can't mix o32 and n32.

Did it say which library was O32?

IRIX 6.2 supports the N32 ABI, so it would be best to make sure all the libraries you are linking to are N32 rather than O32.

The SGI freeware packages should have separate subsystems for O32 and N32 libraries. Make sure that all the prerequisite packages have the N32 subsystem installed.
Then it should Just Work(TM) :)
i'd also give -O3 a shot. as long as you don't get problems ... why go for less :D
I've managed to get it all to build, but linking wont work. Here are the .o files:

Code:
anim.o:         ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
config.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
dialog.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
draw.o:         ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
engine.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
game.o:         ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
global.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
image.o:        ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
interface.o:    ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
main.o:         ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
menu.o:         ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
models.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
move.o:         ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
player.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
prefs.o:        ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
san.o:          ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
splash.o:       ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1
texture.o:      ELF N32 MSB mips-3 relocatable (not stripped) MIPS - version 1




And I try to link them like this:
Code:
ld -call_shared -n32  -o glchess  -L/usr/freeware/lib  -L/
usr/bin -L/usr/freeware/lib -L/usr/lib -lgtkgl -lgtk -lgdk -lgmodule -lglib -lX
i -lXext -lX11 -lGLU -lGL -lm -s -v  -L/usr/lib  *.o
ld32: Trying to open /usr/freeware/lib/libgtkgl.so...
ld32: FATAL   12 : Expecting n32 objects: /usr/freeware/lib/libgtkgl.so is o32.

So I'm still scratching my head over this o32 n32 issue.
johnsmith wrote:
I try to link them like this:
Code:
ld -call_shared -n32  -o glchess  -L/usr/freeware/lib  -L/
usr/bin -L/usr/freeware/lib -L/usr/lib -lgtkgl -lgtk -lgdk -lgmodule -lglib -lX
i -lXext -lX11 -lGLU -lGL -lm -s -v  -L/usr/lib  *.o
ld32: Trying to open /usr/freeware/lib/libgtkgl.so...
ld32: FATAL   12 : Expecting n32 objects: /usr/freeware/lib/libgtkgl.so is o32.

So I'm still scratching my head over this o32 n32 issue.

There is no /usr/freeware/lib32/libgtkgl ? I believe that is what you should be linking to.

If not, you may need to make one. If you just want to use period code, then the freeware tardist should have all the parts you need.
foetz wrote:
i'd also give -O3 a shot. as long as you don't get problems ... why go for less :D

-O3 can actually create slower code. It helps a lot if the code is C++ and uses STL, or does a lot of numerical math, but in other cases it can be about 5-10% slower (this is mainly because it unrolls too many loops, so less code fits in the L1 cache).
It's best to experiment :)

johnsmith wrote:
So I'm still scratching my head over this o32 n32 issue.

You're linking them with the wrong libraries. */lib is for O32, */lib32 is for N32. You're telling the linker to look for O32 libraries, so it's no surprise that's all it finds.

If you have all the appropriate libraries installed (N32 subsystems of their freeware packages), the single compile&link line I posted a while ago should work. You don't need to use "make", just copy & paste that line.

If you want to do it manually with "ld", tell it to look in */lib32 and not in */lib. Also, there are no libraries in /usr/bin, so remove "-L/usr/bin" :D
ShadeOfBlue wrote:
It's best to experiment :)

yup that's why i suggested to give it a shot. since it's for an indy i'd guess he's happy about whatever he can get out of it :)
So this is where I am at, after lots of experimenting. Thank you all very much for the assistance, I'm learning a lot.


Code:
ld  -n32  -o glchess  -L/usr/lib32     -L/usr/freeware/inc
lude/gtk-1.2 -L/usr/freeware/include/glib-1.2    -L/usr/freeware/lib/glib/inclu
de -L/usr/freeware/include -L/usr/freeware/lib32 -lgtkgl -lGL -lGLU -lm -L/usr/
X11R6/lib -lXi -lXmu  *.o
ld32: WARNING 84 : /usr/freeware/lib32/libgtkgl.so is not used for resolving any symbol.
ld32: WARNING 84 : /usr/lib32/libGLU.so is not used for resolving any symbol.
ld32: WARNING 84 : /usr/lib32/libXi.so is not used for resolving any symbol.
ld32: WARNING 84 : /usr/lib32/libXmu.so is not used for resolving any symbol.
ld32: WARNING 15 : Multiply defined:(CECP_Mode) in anim.o and config.o (2nd definition ignored).
ld32: WARNING 15 : Multiply defined:(CECP_Mode) in anim.o and dialog.o (2nd definition ignored).
ld32: WARNING 15 : Multiply defined:(CECP_Mode) in anim.o and draw.o (2nd definition ignored).
ld32: WARNING 15 : Multiply defined:(CECP_Mode) in anim.o and engine.o (2nd definition ignored).
ld32: WARNING 15 : Multiply defined:(CECP_Mode) in anim.o and game.o (2nd definition ignored).
ld32: WARNING 15 : Multiply defined:(CECP_Mode) in anim.o and global.o (2nd definition ignored).
ld32: ERROR   33 : Unresolved text symbol "sin" -- 1st referenced by anim.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fgetc" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "malloc" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "realloc" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fopen" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fprintf" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "free" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fclose" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "atof" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "atoi" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strcmp" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strdup" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved data symbol "__ctype" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved data symbol "__iob" -- 1st referenced by config.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_dialog_new" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_window_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_type_check_object_cast" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_window_set_title" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_window_set_modal" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_window_set_position" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_hbox_new" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_label_new" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_button_new_with_label" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_signal_connect_object" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_dialog_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_box_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_box_pack_start" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_widget_show_all" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_signal_connect" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_widget_realize" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gdk_pixmap_create_from_xpm_d" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_pixmap_new" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_main_quit" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_radio_button_new_with_label" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_radio_button_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_radio_button_group" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_box_pack_end" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_toggle_button_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_container_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_container_set_border_width" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_entry_new" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_check_button_new_with_label" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_entry_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_entry_set_text" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_strdup" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_entry_set_editable" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "getenv" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "snprintf" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_entry_get_text" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_free" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_file_selection_new" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_file_selection_get_type" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_file_selection_get_filename" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_widget_destroy" -- 1st referenced by dialog.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gluPerspective" -- 1st referenced by draw.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "glBindTexture" -- 1st referenced by draw.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "pipe" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "exit" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "signal" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fork" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "dup2" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "close" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "getpid" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "setpgid" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "execvp" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "_exit" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "poll" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "read" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "kill" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strchr" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "sprintf" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strlen" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "write" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strstr" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "__semputc" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "__flsbuf" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "vfprintf" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "tolower" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved data symbol "__us_rsthread_stdio" -- 1st referenced by engine.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fread" -- 1st referenced by image.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "fseek" -- 1st referenced by image.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_init" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gdk_gl_query" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_print" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_timer_new" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_gl_area_get_type" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_gl_area_make_current" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_idle_add" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_label_get_type" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_label_set_text" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_timer_start" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_timer_destroy" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_idle_remove" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_get_type" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_clear" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_signal_disconnect" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_timer_elapsed" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_timer_reset" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_gl_area_swap_buffers" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "select" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_window_new" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_quit_add_destroy" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_vbox_new" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_container_add" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_radio_button_new" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_scrolled_window_new" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_scrolled_window_get_type" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_scrolled_window_set_policy" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_widget_set_usize" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_new_with_titles" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_set_column_width" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_set_column_resizeable" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_column_titles_passive" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_gl_area_new" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_widget_get_type" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_widget_set_events" -- 1st referenced by interface.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "memset" -- 1st referenced by main.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_main" -- 1st referenced by main.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_accel_group_new" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_menu_bar_get_type" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_item_factory_new" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_item_factory_create_items" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_item_factory_get_widget" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_check_menu_item_get_type" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_check_menu_item_set_active" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_window_add_accel_group" -- 1st referenced by menu.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "cos" -- 1st referenced by models.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "sqrt" -- 1st referenced by models.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gluPickMatrix" -- 1st referenced by move.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_append" -- 1st referenced by move.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_moveto" -- 1st referenced by move.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_clist_set_text" -- 1st referenced by move.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strcpy" -- 1st referenced by player.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_table_get_type" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_table_attach_defaults" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_toggle_button_set_active" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "strncmp" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_signal_emit_by_name" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_file_selection_set_filename" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gdk_window_get_colormap" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gdk_color_alloc" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gdk_window_set_background" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gdk_window_clear" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_color_selection_get_type" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_color_selection_get_color" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_color_selection_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_color_selection_set_opacity" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_color_selection_set_color" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_drawing_area_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_table_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_notebook_get_type" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_notebook_append_page" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "g_list_append" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_combo_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_combo_get_type" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_combo_set_popdown_strings" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_adjustment_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_spin_button_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_spin_button_get_type" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_spin_button_set_numeric" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_label_get" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_notebook_new" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "gtk_label_set_line_wrap" -- 1st referenced by prefs.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "glGenTextures" -- 1st referenced by texture.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "glDeleteTextures" -- 1st referenced by texture.o.
Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: INFO    152: Output file removed because of error.
johnsmith wrote:
So this is where I am at, after lots of experimenting. Thank you all very much for the assistance, I'm learning a lot.


Code:
ld  -n32  -o glchess  -L/usr/lib32     -L/usr/freeware/inc
lude/gtk-1.2 -L/usr/freeware/include/glib-1.2    -L/usr/freeware/lib/glib/inclu
de -L/usr/freeware/include -L/usr/freeware/lib32 -lgtkgl -lGL -lGLU -lm -L/usr/
X11R6/lib -lXi -lXmu  *.o

UNIX linkers are single-pass linkers . You have to put the libraries which resolve symbols on the command line *after* the object code which uses them. You put the objects at the end of the command line so their undefined symbols will not be resolved. Also, adding an include path to the library path isn't going to do much because there (hopefully) aren't any libraries there. '/usr/lib32' is path of the standard library path for N32. I think you can reduce it to this:

Code:
ld  -n32  -o glchess *.o -L/usr/freeware/lib32 -L/usr/X11R6/lib -lgtkgl -lGL -lGLU  -lXi -lXmu -lm

_________________
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)