From: hickman@cse.unl.edu (Hubert B. Hickman)
Subject: NXLiveVideoView question
Organization: University of Nebraska - Lincoln
Date: Sun, 27 Sep 1992 03:37:03 GMT

Dear netters,

I have a frustrating problem trying to run a program that makes
use of a NeXTDimension board, if it is available.  It also should
run on slabs and cubes without NeXTDimension boards.  However,
the problem I am having seems to a library problem.  

I am doing much of the development work on a machine that does not
have a NeXTDimension - an older NeXTStation.  

I copied the VideoApp to my machine, but it would not even compile
at first.  I then replaced the libvideo_s.a and libvideo_p.a on my
machines with the libraries from a NeXTDimension system.  Now
VideoApp compiles, but then just starts and exits (i.e. the program
never initializes.  In trying to run the VideoApp under gdb,
I get the following:
--------------------------

Reading symbol data from VideoApp...
Reading symbol data from /usr/shlib/libvideo_s.A.shlib...
Reading symbol data from /usr/shlib/libNeXT_s.C.shlib...
Reading symbol data from /usr/shlib/libsys_s.B.shlib...
Reading Objective-C data...
done.
Type "help" for a list of commands.
(gdb) run
Starting program: /hubert/personal/VideoApp/VideoApp 
sh: /hubert/personal/VideoApp/VideoApp: cannot execute

Program exited with code 01.

----------------------------

When trying to run my own custom app making use of some of the code
from VideoApp, the program "hangs" and after a ^C in gdb, here is
what the backtrace shows:
-------------------------
(gdb) run
Starting program: /hubert/personal/WKS/WKS.debug 
^C
Program received signal 2, Interrupt
0x50088a2 in msg_receive_trap ()
(gdb) backtrace
#0  0x50088a2 in msg_receive_trap ()
#1  0x5013c8a in msg_receive ()
#2  0x5146 in vid_msg_rpc (header=(msg_header_t *) 0x3fff920, option=0, rcv_size
=76, send_timeout=0, rcv_timeout=0) (NXLiveVideoView.m line 92)
#3  0x6a12 in vid_getsignaltype (port=27, rect={
  x = 0;
  y = 0;
  w = 1120;
  h = 832;
}, signal_info=(struct vid_signal_type_t *) 0x3fff9a0) (vid_packageUser.c line 1
50)
#4  0x539a in + [NXLiveVideoView=0x0000a0b4 doesRectSupportVideo:standard:size: 
rect=(struct _NXRect *) 0x1379b0, standard=(port_name_array_t) 0x3fffa28, size=(
struct _NXSize *) 0x3fffa20] (NXLiveVideoView.m line 166)
#5  0x52ec in + [NXLiveVideoView=0x0000a0b4 doesScreenSupportVideo:standard:size
: screen=(struct _NXScreen *) 0x1379ac, standard=(port_name_array_t) 0x3fffa28, 
size=(struct _NXSize *) 0x3fffa20] (NXLiveVideoView.m line 145)
#6  0x540e in + [NXLiveVideoView=0x0000a0b4 _findVideoScreen] (NXLiveVideoView.m
 line 183)
#7  0x5274 in + [NXLiveVideoView=0x0000a0b4 _connect] (NXLiveVideoView.m line 12
6)
#8  0x54cc in - [NXLiveVideoView=0x00124db8 initFrame: frameRect=(struct _NXRect
 *) 0x2319a0] (NXLiveVideoView.m line 197)
#9  0x3e62 in - [CustomVideoView=0x00124db8 initFrame: theFrame=(struct _NXRect 
*) 0x2319a0] (CustomVideoView.m line 21)
#10 0x60204c8 in - [CustomView nibInstantiate]
#11 0x602b9e6 in - [NibData nibInstantiateIn:owner:]
#12 0x602cb6a in doNibLoad ()
#13 0x602cce4 in - [Application _loadNibSegment:section:owner:withNames:fromShli
b:fromHeader:fromZone:]
#14 0x604500c in - [Application loadNibSection:owner:]
#15 0x5012 in main (argc=1, argv=(char **) 0x3fffcec) (WKS_main.m line 10)
--------------
The video library I now have is (output from otool):
libvideo_s.a(__.FVMLIB):
        /usr/shlib/libvideo_s.A.shlib (minor version 10)

This replaced a minor version 6 library.

I have also replaced my "old" version of NXLiveVideoView.h with a newer
version from the NeXTDimension machine. 

I am running the following version of software:

Sep 26 08:25:08 localhost mach: NeXT ROM Monitor 2.2 v63
Sep 26 08:25:08 localhost mach: NeXT Mach 2.1: Thu Mar  7 19:13:47 PST 1991; /ph
1_sources/projects/mk-108.14/RELEASE

Thanks for any help,
Hubert Hickman
hickman@cse.unl.edu


Newsgroups: comp.sys.next.programmer