Who can help me ?

I tried to recompile with Linux,  a software which was running under
Xwindows
and Motif 1.2 (on a HP Appollo workstation with HP-UX); no problem to
recompile
: 0 errors, 0 warning. But at the run, I got the following error:
segmentation fault

After debugging, I found that it was the XtOpenDisplay() function which
produces
the error (instead of returning NULL).

part of the code is the following:

////////////////////////////////////////////

void Init_XWin(void)
{
Arg        args[10];
int        ac;
XSetWindowAttributes attributs;
char nom_exec[10];
Widget wMenuPane;
Widget wSousMenuPane;
Widget wMyShell;
char title[80];


/*********** init.  XWindow ***************/

XtToolkitInitialize();

AppContext = XtCreateApplicationContext();

dpy= XtOpenDisplay( AppContext, "DISPLAY", "P_EXEC", NULL,NULL, 0, 0,
NULL );

//////////////////////////////////////////
// program never reach this point ! ////////
//////////////////////////////////////////


ac = 0;

XtSetArg( args[ac], XmNwidth,  640+20 );
ac++;
XtSetArg( args[ac], XmNheight, 480+70 );
ac++;
XtSetArg( args[ac], XmNallowShellResize, False );
ac++;
strcpy(title,APPLICATION_NAME);
strcat(title,VERSION_);
XtSetArg( args[ac], XmNtitle,title);
ac++;
XtSetArg( args[ac], XmNiconName, title );
ac++;
sprintf(nom_exec,"THP%d",getpid());

wMyShell = XtAppCreateShell(nom_exec, NULL,
applicationShellWidgetClass,dpy, args, ac );

wMainWindow = XmCreateMainWindow( wMyShell, "wMainWindow", NULL, 0);

... program continues ...

///////////////////////////////////////


here is a part of the makefile showing the libraries

////////////////////////////////////////
#makefile
.... somes includes ...
#----------------------------------------------------------------|
SRC = .
OBJ = ../obj
EXE = ../exe
INC = ../include

#----------------------------------------------------------------|

CFLAGS = -a
                -I /usr/X11R6/include/X11 \
                -I /usr/X11R6/LessTif/Motif2.0/include \
                -I $(INC)

XLIBS  = -L /usr/X11R6/lib \
                -L /usr/X11R6/LessTif/Motif2.0/lib \
                -lXm -lXt -lX11 -lm

... continues ...


$(EXE)/P_EXEC :  $(MODULES)
 gcc $(MODULES) -o $@ $(XLIBS) $(CFLAGS)

... continues ...


/////////////////////////////////////////

the version of lesstif is 0.90 (lesstif-0.90.0-linux-libc5.tar obtained
on ftp.lesstig.org)
I got the same error with motif 1.2
I have a Suse Linux 6.2 package (kernel 2.2.10)

///////////////////////////////////////////

considering such difficulties, I just tried to compile the "hello world"
program,
the first simplest program given in chapter 2 of volume 4 (p. 36)
of XToolkit Intrinsics programming manual (O'Reilly):

Here is the code:

///////////////////////////////////

#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>

#include <Xm/Xm.h>

int main(int argc , char **argv)
{

 XtAppContext app_context;
 Widget toplevel, hello;
 WidgetClass xmLabelWidgetClass;
 String *argv_in;

 toplevel= XtVaAppInitialize(
         &app_context,
         "xhello",
         NULL,
         0,
         &argc,
         argv_in,
         NULL ,
         NULL);


 hello = XtCreateWidget("hello",
         xmLabelWidgetClass,
         toplevel,
         NULL,
         0);
 /////////////////////////////////////////////////////
 program never reach this point ! Segmentation fault inside
CreateWidget()
/////////////////////////////////////////////////////
 XtRealizeWidget(toplevel);

 XtAppMainLoop(app_context);

}
//////////////////////////////////////


first strange thing,during the compilation the functions:

Widget XtVaCreateManageWidget(String, WidgetClass,Widget, ArgList,
Cardinal);
Widget XtCreateManageWidget(String, WidgetClass,Widget, ArgList,
Cardinal);

are unknown in the libraries ! So I replace them by XtCreateWiget(),
maybe is it
the matter ?? Are they really necessary ?
How can I get the appropriate libraries ?


Then I got again a segmentation fault error, during the run, inside the
function  XtCreateWidget()  (but I have 0 error, 0 warning during
compilation)


Thank you in advance for some help

Dominique










Reply via email to