Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jun 1996 12:37:05 -0500
From:      Joe Diehl <joed@engg.ksu.edu>
To:        hackers@freebsd.org
Subject:   Compiling Motif-2.0 (install notes)
Message-ID:  <199606191737.MAA08616@max.ami.ksu.edu>

next in thread | raw e-mail | index | archive | help
Howdy all,

Because of the responce to my earlier posting asking if anyone is 
interested in having my install notes for Motif-2.0 posted anywhere,
I thought I might just mail them here for all to see and to get in the
search archives.

Since this is being mailed to freebsd-hackers, and therefore will end
up in the search archives, let me make a note right here for any 
person searching down the road:

Motif-2.0 is a commerical product.  You must have your own license
and source code...  If you do not have a license already please look
into purchasing a precompile version of Motif with a license.  

At the time of this writting there is a link to the X Inside company
from the FreeBSD home page... This is one of the available sources
for Motif for FreeBSD.

Well okie, here is what I have for install notes:

1) Fetch and install new version of flex.  In this case I was running 2.5.3
   for Motif to be happy.  The version of flex that comes with FreeBSD-2.1.0
   will not work while trying to build Motif-2.0

2) joed@marvin:/usr/local/build/motif-2.0% imake -DUseInstalled -Iconfig 

3) joed@marvin:/usr/local/build/motif-2.0% make includes

4) Okay, I'm cheating a little bit here, but what can I say.. I'm lazy 

:/usr/local/build/motif-2.0/X11% ln -s /usr/X11R6/include/X11/xpm.h xpm.h
:/usr/local/build/motif-2.0/lib% ln -s /usr/X11R6/lib/libXpm.a libXpm.a

5) joed@marvin:/usr/local/build/motif-2.0% make depend

Well this died in lib/Xm with out of files errors.  Impatiently I just left
it be and went on...

6) joed@marvin:/usr/local/build/motif-2.0% make

Problem 1:
----------

make dies very quickly with a conflict in /usr/include/stdio.h...  Commented
out the following line in /usr/include/stdio.h:

/* extern __const char *__const sys_errlist[]; */

Note that the real solution to this is to add the following switch while
compiling motif and any motif apps:  -DMOTIFSRC.

Like I've mentioned, I'm lazy.


Problem 2:
----------

making all in ./demos/programs/workspace...
...
cc -c -O  -I. -I../../lib -I../../.././X11 -I../../.././X11  -I../../.././X11  -DNO_MESSAGE_CATALOG     command_ui.c
command_ui.c: In function `SendIncludeCommand':
command_ui.c:386: parse error before `='
command_ui.c:398: parse error before `='
command_ui.c:424: parse error before `inline'
*** Error code 1

Stop.

Changed all referances of the variable 'inline' to 'inline2'.  Okay, cheesy
change but it gets the job done... :)

20-25 hours later (only 8mb of ram is a killer :) --


(7) make install DESTDIR=/usr/local/lic/motif-2.0

borked in ./lib/Xm
fix: touch ./lib/Xm/WorldP.h

(8) make install.man DESTDIR=/usr/local/lic/motif-2.0

borked in ./demos/programs/popups
Excerpt from the Makefile:

install.man:: autopopups.man
        @if [ -d $(DESTDIR) $(MANDIR) ]; then set +x; \
        else (set -x; $(MKDIRHIER) $(DESTDIR) $(MANDIR)); fi
        $(INSTALL) -c $(INSTMANFLAGS) autopopups.man $(DESTDIR) $(MANDIR)/autopo
pups.$(MANSUFFIX)

There should not be a space between DESTDIR and MANDIR.. fixit.. make it go

(9) rearranged the install directory to resemble the FreeBSD tree

(10) made backups of /usr/X11R6/lib/X11/config and /usr/X11R6/bin/imake
     evil Motif is going to try and fiddle with these :)

(11) root@marvin:/usr/local/install# installit -t /usr/X11R6 motif-2.0/ 

     this will simply creat symlinks from the /usr/local/lic/motif-2.0 
     tree to the /usr/X11R6 tree...  verra nice for deinstallations...

(12) Successfully fired up two of the demos (todo and draw)... Killed 
     Filemanager after it had been cranking for 3 minutes without giving 
     me a window.  8mb just doesn't cut it for motif :)

(13) Hmm... xmkmf is very broken.. I can't compile a thing using xmkmf.. need
     to fix

(14) In the mean time, my lazy self decided to compile a couple of apps
     to verify that motif works.  This of course required following 
     the README file's directions for installing without imake.  

     Both xinvest and xmmix compiled... Though xinvest had a couple problems
     so I removed it.  Since then I've compiled and run a few other motif
     apps... Motif appears to work quite well.

(15) Okie.. finally broke down to fixing the /usr/X11R6/lib/X11/config 
     directory when I wanted to install the xmcd port.  Or some motif port:


This patch to the directory should take care of most of the files... But
not the Motif* files...  Let's see if I can remember now... I believe
a minor modification or two was needed in one of the Motif* files... And
I never did anything with the project.tmpl file.  This should get you
a semi-working config directory, but may still take a bit of dinking
yet to make it work:

diff -rc config.orig/FreeBSD.cf config/FreeBSD.cf
*** config.orig/FreeBSD.cf	Thu Jun  6 20:20:15 1996
--- config/FreeBSD.cf	Sat Jun  8 18:12:21 1996
***************
*** 8,13 ****
--- 8,15 ----
  #define OSMinorVersion    1
  #define OSTeenyVersion    0
  
+ #define MotifBC                 YES
+ 
  #define HasGcc			YES
  #define HasGcc2			YES
  #define HasCplusplus		YES
Only in config: Motif.rules
Only in config: Motif.tmpl
diff -rc config.orig/bsdLib.rules config/bsdLib.rules
*** config.orig/bsdLib.rules	Thu Jun  6 20:20:02 1996
--- config/bsdLib.rules	Sat Jun  8 18:12:18 1996
***************
*** 29,34 ****
--- 29,35 ----
  #define PositionIndependentCFlags -fpic
  #endif
  
+ 
  /*
   * InstallSharedLibrary - generate rules to install the shared library.
   */
***************
*** 94,96 ****
--- 95,98 ----
  Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs)		@@\
  LintLibReferences(varname,libname,libsource)
  #endif
+ 
diff -rc config.orig/bsdLib.tmpl config/bsdLib.tmpl
*** config.orig/bsdLib.tmpl	Thu Jun  6 20:20:10 1996
--- config/bsdLib.tmpl	Sat Jun  8 18:12:19 1996
***************
*** 14,16 ****
--- 14,17 ----
  #ifndef SharedXmuReqs
  #define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB)
  #endif
+ 
diff -rc config.orig/site.def config/site.def
*** config.orig/site.def	Thu Jun  6 20:20:15 1996
--- config/site.def	Sat Jun  8 18:12:20 1996
***************
*** 50,55 ****
--- 50,61 ----
  #endif
  */
  
+ #define MotifMajorVersion 2
+ #define MotifMinorVersion 0
+ #define MotifUpdateLevel 0
+ #define LocalTmplFile <Motif.tmpl>
+ #define LocalRulesFile <Motif.rules>
+ 
  #endif /* BeforeVendorCF */
  
  #ifdef AfterVendorCF

16) Hmm... Finally, make sure that after installing Motif, you are still
    using the imake that came with FreeBSD...  The motif imake program
    will do nasty things.


Cheers and good luck hope this is a help to you.  

---
Joe Diehl <joed@engg.ksu.edu>
Network and Systems Administrator
KSU College of Engineering




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606191737.MAA08616>