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>
