[comp.windows.x] Help: AWM won't build!

cadp53@vaxa.strath.ac.uk (The Pestilence) (05/15/91)

I'm trying to build AWM on A SUN 3/80 machine & keep hitting compilation
problems!!!!

The version is 'awm2' or patchlevel9, if that helps at all.....

A typical build run end with the following......

-----
cc -o awm gram.o lex.o globals.o Beep.o Bindings.o CircleDown.o CircleUp.o
Curso
Move.o MoveO
paque.o NewIconify.o Pause.o Push.o Error.o Raise.o Refresh.o Resize.o
Restart.o
 RubberBand.o StoreBox.o  StoreZap.o XError.o awm.o FocusChng.o Titlebar.o
errHn
dlr.o  Grab.o menu_sup.o Gadget.o support.o exp_path.o Neaten.o  lockscreen.o
Lo
ck.o -O  menus/rtlmenu.a -lXmu -lXext -lX11 -ll -lm
ld: /lib/libXmu.sa.4.0: warning: table of contents for archive is out of date;
r
erun ranlib(1)
ld: Undefined symbol
   _applicationShellWidgetClass
   _wmShellWidgetClass
*** Error code 1
make: Fatal error: Command failed for target `awm'
----

All the files built properly bar the follwing....

---

"menu_sup.c", line 85: warning: illegal pointer combination
"menu_sup.c", line 86: warning: illegal pointer combination

----

And the library in menus/ built OK as well........

Any pointers [ apart from the two in menu_sup.c ] are most welcome.......

Thanks.

V.		cadp53@uk.ac.strath.vaxa

guy@auspex.auspex.com (Guy Harris) (05/21/91)

>ld: /lib/libXmu.sa.4.0: warning: table of contents for archive is out of date;
>r
>erun ranlib(1)

This is a result of a bug in the X11R4 "Imake.rules", which I think I've
submitted a bug report on.  It doesn't bother "ranlib"bing ".sa" files,
Which Is Wrong.

The fix:

*** Imake.rules.dist	Mon Dec 18 14:14:19 1989
--- Imake.rules	Mon Jan 29 14:25:17 1990
***************
*** 338,345 ****
  #ifndef InstallSharedLibraryData
  #define	InstallSharedLibraryData(libname,rev,dest)			@@\
  install:: lib/**/libname.sa.rev						@@\
! 	$(INSTALL) -c $(INSTLIBFLAGS) lib/**/libname.sa.rev dest
! 
  #endif /* InstallSharedLibraryData */
  
  
--- 338,345 ----
  #ifndef InstallSharedLibraryData
  #define	InstallSharedLibraryData(libname,rev,dest)			@@\
  install:: lib/**/libname.sa.rev						@@\
! 	$(INSTALL) -c $(INSTLIBFLAGS) lib/**/libname.sa.rev dest	@@\
! 	$(RANLIB) $(RANLIBINSTFLAGS) dest/lib/**/libname.sa.rev
  #endif /* InstallSharedLibraryData */
  
  
>ld: Undefined symbol
>   _applicationShellWidgetClass
>   _wmShellWidgetClass

Those appear to be defined by the "-lXt" library, but your example
doesn't seem to be linking with that library.  Try fixing the Makefile
to do so, or fixing the Imakefile or the appropriate config file to
ensure that the Makefile will do so, and try again.  (If you fix the
Makefile directly, you must *still* go back and fix the Imakefile and
the appropriate config file in any case - you just get to do it after
you've gotten "awm" built.)