FW: configure script "detection" logic for ( #define XPMATTRIBUTES_TYPE ) is NOT correct

78 views
Skip to first unread message

Bovy, Stephen

unread,
Apr 27, 2012, 4:41:55 PM4/27/12
to vim...@googlegroups.com

The xpm attribute type should not be declared if the xpm header or xmp linker detection fails >>

/* #undef HAVE_X11_XPM_H */

The following should NOT have been set >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

/* Define to the type of the XpmAttributes type. */ #define XPMATTRIBUTES_TYPE XpmAttributes

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

cc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF -O -D_ALL_SOURCE -Wc,float\(IEEE\),HALTONMSG\(3296\) -W c,dll -o objects/gui_xmebw.o gui_xmebw.c
WARNING CCN3296 ./gui_xmebw.c:38 #include file <X11/xpm.h> not found.
ERROR CCN3275 ./gui_xmebw.c:291 Unexpected text attr encountered.
ERROR CCN3045 ./gui_xmebw.c:291 Undeclared identifier XpmAttributes.
ERROR CCN3046 ./gui_xmebw.c:292 Syntax error.
ERROR CCN3046 ./gui_xmebw.c:293 Syntax error.
ERROR CCN3277 ./gui_xmebw.c:294 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:295 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:296 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:297 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:298 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:299 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:300 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:301 Syntax error: possible missing ';' or ','?
ERROR CCN3277 ./gui_xmebw.c:302 Syntax error: possible missing ';' or ','?
ERROR CCN3275 ./gui_xmebw.c:304 Unexpected text 'int' encountered.
ERROR CCN3046 ./gui_xmebw.c:305 Syntax error.
ERROR CCN3275 ./gui_xmebw.c:306 Unexpected text 'int' encountered.
ERROR CCN3275 ./gui_xmebw.c:307 Unexpected text 'int' encountered.
ERROR CCN3275 ./gui_xmebw.c:308 Unexpected text 'unsigned int' encountered.
ERROR CCN3275 ./gui_xmebw.c:309 Unexpected text 'int' encountered.
ERROR CCN3046 ./gui_xmebw.c:310 Syntax error.
ERROR CCN3046 ./gui_xmebw.c:311 Syntax error.
ERROR CCN3046 ./gui_xmebw.c:312 Syntax error.
ERROR CCN3046 ./gui_xmebw.c:313 Syntax error.
ERROR CCN3046 ./gui_xmebw.c:314 Syntax error.
ERROR CCN3275 ./gui_xmebw.c:315 Unexpected text 'char' encountered.
ERROR CCN3275 ./gui_xmebw.c:316 Unexpected text 'char' encountered.
ERROR CCN3275 ./gui_xmebw.c:317 Unexpected text 'int' encountered.
ERROR CCN3046 ./gui_xmebw.c:318 Syntax error.
ERROR CCN3045 ./gui_xmebw.c:349 Undeclared identifier color.
ERROR CCN3045 ./gui_xmebw.c:359 Undeclared identifier attr.
ERROR CCN3045 ./gui_xmebw.c:359 Undeclared identifier XpmColorSymbols.
ERROR CCN3045 ./gui_xmebw.c:359 Undeclared identifier XpmCloseness.
ERROR CCN3045 ./gui_xmebw.c:366 Undeclared identifier XpmSuccess.
ERROR CCN3045 ./gui_xmebw.c:440 Undeclared identifier XpmColorKey.
ERROR CCN3045 ./gui_xmebw.c:444 Undeclared identifier XPM_MONO.
ERROR CCN3285 ./gui_xmebw.c:1305 The indirection operator cannot be applied to a pointer to an incomplete struct or union.
ERROR CCN3285 ./gui_xmebw.c:1369 The indirection operator cannot be applied to a pointer to an incomplete struct or union.
ERROR CCN3285 ./gui_xmebw.c:1370 The indirection operator cannot be applied to a pointer to an incomplete struct or union.
CCN0793(I) Compilation failed for file ./gui_xmebw.c. Object file not created.
FSUM3065 The COMPILE step ended with return code 12.
FSUM3017 Could not compile gui_xmebw.c. Correct the errors and try again.
FSUM8226 make: Error code 3
$

Bram Moolenaar

unread,
Apr 28, 2012, 7:33:06 AM4/28/12
to Bovy, Stephen, vim...@googlegroups.com

Stephen Bovy wrote:

> The xpm attribute type should not be declared if the xpm header or
> xmp linker detection fails >>
>
> /* #undef HAVE_X11_XPM_H */
>
> The following should NOT have been set >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> /* Define to the type of the XpmAttributes type. */ #define XPMATTRIBUTES_TYPE XpmAttributes
>
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>
> cc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF -O -D_ALL_SOURCE -Wc,float\(IEEE\),HALTONMSG\(3296\) -W c,dll -o objects/gui_xmebw.o gui_xmebw.c
> WARNING CCN3296 ./gui_xmebw.c:38 #include file <X11/xpm.h> not found.
> ERROR CCN3275 ./gui_xmebw.c:291 Unexpected text attr encountered.
> ERROR CCN3045 ./gui_xmebw.c:291 Undeclared identifier XpmAttributes.

So what #ifdef needs to change then?

--
ROBIN: (warily) And if you get a question wrong?
ARTHUR: You are cast into the Gorge of Eternal Peril.
ROBIN: Oh ... wacho!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

Bovy, Stephen

unread,
Apr 28, 2012, 11:41:53 PM4/28/12
to Br...@moolenaar.net, vim...@googlegroups.com
Sorry ,

This was my mis-understanding

The assumption is that you are either using xpm or you are using Xm/Manager

I finally figured out
In either case (XPMATTRIBUTES_TYPE XpmAttributes) should always be set

Thanks for responding and tolerating my foolish questions

The Xm/Manager setting got a false hit in the detection code because of (duplicate definition's )

The Xm/Notebook got an incorrect positive hit because there are different versions of the notebook.h floating
Around and certain Notebook api's are not supported (or maybe they are located in a different header file ?)

In December I was able to successfully build , but now I am getting some syntax errors

I am building with X11R6

Does 7.3 still support X11R6 ??

Xm.h looks like this >>

/* @(#)78 1.8 src/gos/2d/MOTIF/lib/Xm/Xm.h, libxm, gos41J \
2/14/95 14:52:40 */
/*
* COMPONENT_NAME: LIBXM Motif Toolkit
*
* FUNCTIONS:
*
* ORIGINS: 92, 118
*
*/
/*
* (c) Copyright 1989, 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE \
FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
ifndef OSF_v1_2_4
* Motif Release 1.2.3
else
* Motif Release 1.2.4
endif
*/
/* $RCSfile: Xm.h,v $ $Revision: 1.99 $ $Date: 94/06/20 15:55:07 $ */
/*
* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD \
COMPANY */

#ifndef _Xm_h
#define _Xm_h


/* Manager widger class and record definitions */


#ifndef MANAGER
externalref WidgetClass xmManagerWidgetClass;
#endif

typedef struct _XmManagerClassRec * XmManagerWidgetClass;
typedef struct _XmManagerRec * XmManagerWidget;

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

I have two versions >>

X11R6
X11R66

>> X11R66 >> is the default >> If I use this I get a boat-load of errors

If I use X11R6 everything pretty much works ( At least it did in December )

So my include path is X11R6:X11R66

There is some overlap between the two ( but nothing that should cause a serious problem )

Bovy, Stephen

unread,
Apr 29, 2012, 12:03:21 AM4/29/12
to Br...@moolenaar.net, vim...@googlegroups.com
If I compile with X11R6.6 (which is the default) I get a bunch of compile errors

If I put (X11R6) ahead of the default ( almost everything gets compiled OK ) In December this worked (but now I am getting
Errors)

I think I should be using X11R6.6 ( Hmm maybe I need a different set of compiler options to get this working correctly )

X Window System and Motif files locations

z/OS V1R12.0 Communications Server IP Programmer's Guide and Reference
SC31-8787-12

The following topics provide X Window System and Motif locations.

Previous function X11R6.1 and Motif 1.2

Previous function X11R6.1 and Motif 1.2 static libraries for 31-bit applications. Applications that want to link with these libraries must use the -L flag on the cc or c89 command to specify the library directory.
/usr/lpp/tcpip/X11R6/lib/libX11.a
/usr/lpp/tcpip/X11R6/lib/libXext.a
/usr/lpp/tcpip/X11R6/lib/liboldX.a
/usr/lpp/tcpip/X11R6/lib/libICE.a
/usr/lpp/tcpip/X11R6/lib/libSM.a
/usr/lpp/tcpip/X11R6/lib/libXt.a
/usr/lpp/tcpip/X11R6/lib/libXmu.a
/usr/lpp/tcpip/X11R6/lib/libXaw.a
/usr/lpp/tcpip/X11R6/lib/libXau.a
/usr/lpp/tcpip/X11R6/lib/libPEX5.a
/usr/lpp/tcpip/X11R6/lib/libXm.a
/usr/lpp/tcpip/X11R6/lib/libMrm.a
/usr/lpp/tcpip/X11R6/lib/libUil.a Previous function X11R6.1 and Motif 1.2 dynamic link libraries (DLLs); 31-bit, non-XPLINK:
/usr/lib/X11.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/X11.dll
/usr/lib/ICE.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/ICE.dll
/usr/lib/SM.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/SM.dll
/usr/lib/Xaw.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/Xaw.dll Header files for previous function X11R6.1 and Motif 1.2:
/usr/lpp/tcpip/X11R6/include/X11
/usr/lpp/tcpip/X11R6/include/X11/ICE
/usr/lpp/tcpip/X11R6/include/X11/PEX5
/usr/lpp/tcpip/X11R6/include/X11/SM
/usr/lpp/tcpip/X11R6/include/X11/Xaw
/usr/lpp/tcpip/X11R6/include/X11/Xmu
/usr/lpp/tcpip/X11R6/include/X11/bitmaps
/usr/lpp/tcpip/X11R6/include/X11/extensions

/usr/lpp/tcpip/X11R6/include/Mrm (motif header files)
/usr/lpp/tcpip/X11R6/include/Xm (motif header files)
/usr/lpp/tcpip/X11R6/include/Uil (Uil header files) Other utilities and data files for the previous function X11R6.1 and Motif 1.2:
/usr/lpp/tcpip/bin/X11/uil (uil compiler)

/usr/lpp/tcpip/X11R6/lib/X11/locale (locale data files)
/usr/lpp/tcpip/X11R6/lib/X11/XErrorDB (X Error message database)
/usr/lpp/tcpip/X11R6/lib/X11/XKeysymDB (X keysym Database)
/usr/lpp/tcpip/X11R6/lib/X11/app-defaults/ (application default files) Examples included for X11R6.1 and Motif 1.2:
/usr/lpp/tcpip/X11R6/Xamples/man/cat1/ (man pages for Xamples programs)
/usr/lpp/tcpip/X11R6/Xamples/demos/ (demonstration programs)
/usr/lpp/tcpip/X11R6/Xamples/clients/ (selected standard clients) New function X11R6.6 and Motif 2.1.30

New function X11R6.6 and Motif 2.1 static libraries for 31-bit and 64-bit applications (these libraries are all XPLINK):
Notes:
PEX is no longer supported in these libraries.
Xp is a new library.
/usr/lib/libX11.a -> /usr/lpp/tcpip/X11R66/lib/libX11.a
/usr/lib/libXext.a -> /usr/lpp/tcpip/X11R66/lib/libXext.a
/usr/lib/liboldX.a -> /usr/lpp/tcpip/X11R66/lib/liboldX.a
/usr/lib/libICE.a -> /usr/lpp/tcpip/X11R66/lib/libICE.a
/usr/lib/libSM.a -> /usr/lpp/tcpip/X11R66/lib/libSM.a
/usr/lib/libXt.a -> /usr/lpp/tcpip/X11R66/lib/libXt.a
/usr/lib/libXmu.a -> /usr/lpp/tcpip/X11R66/lib/libXmu.a
/usr/lib/libXaw.a -> /usr/lpp/tcpip/X11R66/lib/libXaw.a
/usr/lib/libXp.a -> /usr/lpp/tcpip/X11R66/lib/libXp.a
/usr/lib/libXau.a -> /usr/lpp/tcpip/X11R66/lib/libXau.a
/usr/lib/libXm.a -> /usr/lpp/tcpip/X11R66/lib/libXm.a
/usr/lib/libMrm.a -> /usr/lpp/tcpip/X11R66/lib/libMrm.a
/usr/lib/libUil.a -> /usr/lpp/tcpip/X11R66/lib/libUil.a New function X11R6.6 and Motif 2.1 31-bit dynamic link libraries (DLLs):
/usr/lib/X11_31.dll -> /usr/lpp/tcpip/X11R66/lib/X11_31.dll
/usr/lib/ICE_31.dll -> /usr/lpp/tcpip/X11R66/lib/ICE_31.dll
/usr/lib/SM_31.dll -> /usr/lpp/tcpip/X11R66/lib/SM_31.dll
/usr/lib/Xaw_31.dll -> /usr/lpp/tcpip/X11R66/lib/Xaw_31.dll
/usr/lib/Mrm_31.dll -> /usr/lpp/tcpip/X11R66/lib/Mrm_31.dll
/usr/lib/Uil_31.dll -> /usr/lpp/tcpip/X11R66/lib/Uil_31.dll
/usr/lib/Xm_31.dll -> /usr/lpp/tcpip/X11R66/lib/Xm_31.dll New function X11R6.6 and Motif 2.1 64-bit dynamic link libraries (DLLs):
/usr/lib/X11_64.dll -> /usr/lpp/tcpip/X11R66/lib/X11_64.dll
/usr/lib/ICE_64.dll -> /usr/lpp/tcpip/X11R66/lib/ICE_64.dll
/usr/lib/SM_64.dll -> /usr/lpp/tcpip/X11R66/lib/SM_64.dll
/usr/lib/Xaw_64.dll -> /usr/lpp/tcpip/X11R66/lib/Xaw_64.dll
/usr/lib/Mrm_64.dll -> /usr/lpp/tcpip/X11R66/lib/Mrm_64.dll
/usr/lib/Uil_64.dll -> /usr/lpp/tcpip/X11R66/lib/Uil_64.dll
/usr/lib/Xm_64.dll -> /usr/lpp/tcpip/X11R66/lib/Xm_64.dll Header files for X11R6.6 and Motif 2.1: /usr/include/X11/ -> /usr/lpp/tcpip/X11R66/include/X11 (header files)
/usr/include/X11/ICE -> /usr/lpp/tcpip/X11R66/include/X11/ICE (ICE specific header files)
/usr/include/X11/SM -> /usr/lpp/tcpip/X11R66/include/X11/SM (SM specific header files)
/usr/include/X11/Xaw -> /usr/lpp/tcpip/X11R66/include/X11/Xaw (Xaw specific header files)
/usr/include/X11/Xmu -> /usr/lpp/tcpip/X11R66/include/X11/Xmu (Xmu specific header files)
/usr/include/X11/extensions -> /usr/lpp/tcpip/X11R66/include/X11/extensions (extensions specific header files)
/usr/include/X11/bitmaps -> /usr/lpp/tcpip/X11R66/include/X11/bitmaps (bitmaps for samples)
/usr/include/Mrm -> /usr/lpp/tcpip/X11R66/include/Mrm (motif header files)
/usr/include/Xm -> /usr/lpp/tcpip/X11R66/include/Xm (motif header files)
/usr/include/X11/uil -> /usr/lpp/tcpip/X11R66/include/uil (Uil header files)

Other utilities and Data files for the new function X11R6.6 and Motif 2.1: /bin/X11/uil -> /usr/lpp/tcpip/bin/X1166/uil (31-bit uil compiler)
/bin/X11/uil64 -> /usr/lpp/tcpip/bin/X1166/uil64 (64-bit uil compiler)
/usr/lib/X11 -> /usr/lpp/tcpip/X11R66/lib/X11
/usr/lib/X11/locale -> /usr/lpp/tcpip/X11R66/lib/X11/locale (locale data files)
/usr/lib/X11/XErrorDB -> /usr/lpp/tcpip/X11R66/lib/X11/XErrorDB (X Error message database)
/usr/lib/X11/XKeysymDB -> /usr/lpp/tcpip/X11R66/lib/X11/XKeysymDB (X keysym Database)
/usr/lib/X11/app-defaults -> /usr/lpp/tcpip/X11R66/lib/X11/app-defaults/ (application default files)

Examples included for X11R6.6 and Motif 2.1:
/usr/lpp/tcpip/X11R66/Xamples/man/cat1/ (man pages for Xamples programs)
/usr/lpp/tcpip/X11R66/Xamples/demos/ (demonstration programs)
/usr/lpp/tcpip/X11R66/Xamples/clients/ (selected standard clients)
/usr/lpp/tcpip/X11R66/Xamples/motif (selected Motif examples)

-----Original Message-----
From: Br...@moolenaar.net [mailto:Br...@moolenaar.net]
Sent: Saturday, April 28, 2012 4:33 AM
To: Bovy, Stephen
Cc: vim...@googlegroups.com
Subject: Re: FW: configure script "detection" logic for ( #define XPMATTRIBUTES_TYPE ) is NOT correct


Bovy, Stephen

unread,
Apr 29, 2012, 12:43:41 AM4/29/12
to Br...@moolenaar.net, vim...@googlegroups.com

Shucks 

 

I am in a quandary

 

If I make changes to the build-setup  for IBM  ( it may not work for older systems )

 

I may need to add some new detection code to identify that this is a newer system  >>

 

X Window System programming considerations



z/OS V1R12.0 Communications Server IP Programmer's Guide and Reference
SC31-8787-12

Description: http://publib.boulder.ibm.com/infocenter/zos/v1r12/topic/com.ibm.zaddinfo.doc/dblue_rule.gif

The X Window System toolkit includes files that define two macros for obtaining the offset of fields in an X Window System Toolkit structure, XtOffset, and XtOffsetOf. Programs written for, or ported to, z/OS UNIX MVS™ must use the XtOffsetOf macro for this purpose.

Porting Motif applications to z/OS UNIX MVS

Some Motif widget and gadget resources have the type KeySym. In an ASCII-based system the KeySym is the same as the ASCII character value. For example, the character 'F' has the ASCII hexadecimal value 46 and the KeySym hexadecimal value 46.

However, on z/OS UNIX MVS, the character value of 'F' is hexadecimal C6, while the KeySym hexadecimal value is still 46. Remember to use true KeySym values when specifying resources of type KeySym, whether in a defaults file or in a function call.

In some cases, an X Window System server may have clients that are not running on z/OS UNIX MVS. If a z/OS UNIX MVS X Window System application sends nonstandard properties that contain text strings to the X Window System server, and these properties might be accessed by clients that are not running on z/OS UNIX MVS, the strings should be translated. The translation should be to the server default character set before transmission to the server and to the appropriate host character set when retrieved from the server. This translation is an application responsibility.

Compiling and linking Motif and X Window System applications

The z/OS UNIX c89 or make commands should be used to compile and link X Window System and Motif programs. The following example shows how to use the c89 command to compile an X Window System program, xxx, which uses the Athena widget set, and create the executable file xxx. All code that uses the X Window System and Motif libraries must be compiled with the DLL option even if static linking is used.

c89 -o xxx -Wc,dll,xplink -Wl,xplink xxx.c /usr/lib/Xaw_31.x /usr/lib/SM_31.x

/usr/lib/ICE_31.x /usr/lib/X11_31.x

The following example shows how to compile the program xxx for use with the 64-bit DLLs. LP64 also requires the use of XPLINK.

c89 -o xxx -Wc,dll,xplink,LP64 -Wl,xplink xxx.c /usr/lib/Xaw_64.x /usr/lib/SM_64.x

/usr/lib/ICE_64.x /usr/lib/X11_64.x

The following example shows how to use the c89 command to compile an X Window System program, yyy, which uses the Motif widget set, and create an executable file yyy:

c89 -o yyy -Wc,dll,xplink -W1,xplink yyy.c /usr/lib/Xm_31.x /usr/lib/SM_31.x

/usr/lib/ICE_31.x /usr/lib/X11_31.x

The following example shows how to use the c89 command to compile an X Window System program, yyy, which uses the Motif widget set, and create an executable file yyy. This example links with the previous function libraries (X 6.1 and Motif 1.2). You must explicitly tell the compiler where to pick up the header files for the previous function libraries with the -I option.

c89 -o yyy -Wc,dll -W1,xplink yyy.c -I/usr/include/lpp/tcpip/X11R6/include

/usr/lib/Xm.x /usr/lib/SM.x /usr/lib/ICE.x /usr/lib/X11.x

For examples of the input to the make command, see the Makefile in each of these subdirectories:

/usr/lpp/tcpip/X11R6/Xamples/demos

/usr/lpp/tcpip/X11R6/Xamples/clients

/usr/lpp/tcpip/X11R66/Xamples/demos

/usr/lpp/tcpip/X11R66/Xamples/clients

/usr/lpp/tcpip/X11R66/Xamples/motif

 

 

-----Original Message-----
From: Br...@moolenaar.net [mailto:Br...@moolenaar.net]
Sent: Saturday, April 28, 2012 4:33 AM
To: Bovy, Stephen
Cc: vim...@googlegroups.com
Subject: Re: FW: configure script "detection" logic for ( #define XPMATTRIBUTES_TYPE ) is NOT correct

 

 

Stephen Bovy wrote:

Reply all
Reply to author
Forward
0 new messages