[comp.windows.x] problem with installing xdtm

yfwang@hawaii.ucsb.edu (05/25/91)

dear netters:

i grabbed from comp.sources.x xdtm, the X desktop manager. however, 
i cannot install the package because i got an error during compilation. 
the error message is 

---------
kawai(2967)% make
gcc -g   -I/usr/local/Pkg/XV11R4/include        -sun4 -c  main.c
gcc -g   -I/usr/local/Pkg/XV11R4/include        -sun4 -c  menus.c
gcc -g   -I/usr/local/Pkg/XV11R4/include        -sun4 -c  appman.c
appman.c: In function execute:
appman.c:885: request for member `w_S' in something not a structure or union
appman.c:885: request for member `w_T' in something not a structure or union
*** Error code 1
make: Fatal error: Command failed for target `appman.o'

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

if you know what went wrong and how to fix it, please e-mail me the
solution at yfwang@cs.ucsb.edu. please don't post the solution as
i don't have time to keep up with the postings in this group. 

thanks in advance.

yfw

klute@tommy.informatik.uni-dortmund.de (Rainer Klute) (05/27/91)

In article <11560@hub.ucsb.edu>, yfwang@hawaii.ucsb.edu writes:
|> i grabbed from comp.sources.x xdtm, the X desktop manager. however, 
|> i cannot install the package because i got an error during compilation. 
|> the error message is 
|> 
|> ---------
|> kawai(2967)% make
|> gcc -g   -I/usr/local/Pkg/XV11R4/include        -sun4 -c  main.c
|> gcc -g   -I/usr/local/Pkg/XV11R4/include        -sun4 -c  menus.c
|> gcc -g   -I/usr/local/Pkg/XV11R4/include        -sun4 -c  appman.c
|> appman.c: In function execute:
|> appman.c:885: request for member `w_S' in something not a structure or union
|> appman.c:885: request for member `w_T' in something not a structure or union
|> *** Error code 1
|> make: Fatal error: Command failed for target `appman.o'


Try the following patch:

*** /tmp/RCSAa02473     Tue May 21 16:38:25 1991
--- appman.c    Tue May 21 16:29:34 1991
***************
*** 749,755 ****
    int result, pid, fd;
    int status = 0;
    String *newargs, strptr;
!   int w_stat;

    if (fullname == NULL) {
      /* Find program */
--- 749,755 ----
    int result, pid, fd;
    int status = 0;
    String *newargs, strptr;
!   union wait w_stat;

    if (fullname == NULL) {
      /* Find program */
***************
*** 883,888 ****
--- 883,889 ----
        if (cwait) {
        wait(&w_stat);
        if (WIFEXITED(w_stat))          /* jcc */
+ #define WEXITSTATUS(w_stat) (w_stat.w_T.w_Retcode)
          status = WEXITSTATUS(w_stat); /* ejg */
        else
          status = 1;

-- 
  Dipl.-Inform. Rainer Klute      klute@irb.informatik.uni-dortmund.de
  Univ. Dortmund, IRB             klute@unido.uucp, klute@unido.bitnet
  Postfach 500500         |)|/    Tel.: +49 231 755-4663
D-4600 Dortmund 50        |\|\    Fax : +49 231 755-2386