Subject: FVWM: Installing FVWM in Doslinux 41

From: David Maggin <[email-masked]>
Date: Wed, 24 Dec 1997 09:05:10 -0500

I'm running FVWM at home under a Slackware 2.0.30 installation, but I'm unable to install FVWM on my work PC running Doslinux 41.  X is running, but Doslinux doesn't include a compiler (which is what I think the problem is?), so I can't get the FVWM package installed.
Is there a binary distribution available for FVWM that'll install into Doslinux without the need to compile, or could someone guide me through whatever's needed to get the basic FVWM package installed?  I know this may be a bit of a large undertaking, but I thought I'd ask since I've been unable to figure it out from the man pages, manuals and on-line guides.
Thanks in advance and happy holidays!
David

n.b. To reply: Remove the (anti-spam) "x"s in the email address.
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Scott Lampert <[email-masked]>
Date: Thu, 22 Jan 1998 11:41:27 -0500 (EST)

Has anyone attempted to compile FVWM 2.0.26 with egcs 1.0.x or gcc
2.8.0?  Evidently Imake creates a combination of options to gcc which are
no longer compatible, namely -c and -o on the same line.  As I'm not very
familiar with Imake configuration (short of doing xmkmf -a) I'm not sure
where to go about fixing this.  Looking at /usr/X11R6/lib/X11/config, the
Imake.tmpl and Imake.rules are pretty cryptic to the uninitiated. ;)  If
someone could clue me in I'd be much obliged.  THanks,
                -Scott

---
Scott Lampert             | Home Page: http://www.heavymetal.org
[email-masked]  | PGP Key: finger [email-masked]
"Sing the Hare Hare,      |_________________________________________
   Dance the Hoochie Koo"

---

From: Mark J Hewitt <[email-masked]>
Date: Thu, 22 Jan 1998 20:45:02 +0000

On 22 Jan 98 at 11:41, Scott Lampert wrote:

> no longer compatible, namely -c and -o on the same line.

I've not tried this combination - and I assume you mean 2.0.46 - but, are 
you sure the problem is the configuration of fvwm and not the 
default rules for the version of make that you use?  GNU make in 
particular checks for this when building its default rules at 
configuration time.
-- 
Mark J. Hewitt      at home           [email-masked]
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Scott Lampert <[email-masked]>
Date: Thu, 22 Jan 1998 18:57:33 -0500 (EST)

> particular checks for this when building its default rules at 

        I did mean 2.0.46 :)  I'm pretty sure the problem is in Imake and
not fvwm.  If thats what you mean about the default rules of make there-in
lies my problem. I haven't been able to find any clear documentation on
Imake so I'm not sure how to go about changing the rules without messing
things up worse than they are.
        -Scott

---

---

From: [email-masked]
Date: Thu, 22 Jan 1998 16:57:14 -0800 (PST)

Yes, I tried compile as you discribed and got the same results.
Don't know why or how to fix it either...

> particular checks for this when building its default rules at 

You are lucky! When I was young we had to run UNIX on an abacus...

---

From: Bruce Stephens <[email-masked]>
Date: Fri, 23 Jan 1998 10:23:16 +0000

I confess I haven't looked, but I find it really hard to believe that gcc now 
can't accept -c and -o on the same line.  Isn't it something else that's going 
wrong?

---

From: Scott Lampert <[email-masked]>
Date: Fri, 23 Jan 1998 06:18:15 -0500 (EST)

> can't accept -c and -o on the same line.  Isn't it something else that's

        Well believe it.  Here's a snip from just one object compile.  It
will do this for everything.

gcc -Wall -O2     -I. -I../../libs  -I/usr/X11R6/include -I/include 
-Dlinux LinuxMachineDefines -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
-D_BSD_SOURCE -D_SVID_SOURCE  -DNO_MESSAGE_CATALOG  -DFUNCPROTO=15
-DNARROWPROTO  -DSHAPE -DACTIVEDOWN_BTNS -DINACTIVE_BTNS -DMINI_ICONS
-DVECTOR_BUTTONS -DPIXMAP_BUTTONS -DGRADIENT_BUTTONS -DMULTISTYLE
-DEXTENDED_TITLESTYLE -DBORDERSTYLE -DUSEDECOR -DWINDOWSHADE -DXPM    -c
FvwmButtons.c -o FvwmButtons.o
gcc: cannot specify -o with -c and multiple compilations
make[1]: *** [FvwmButtons.o] Error 1

        Why it thinks this is multiple compilations I have no idea, but
this fails with gcc-2.8.0, egcs 1.0.1 and pgcc 1.0.1 as well.
                -Scott

---

---

From: Bruce Stephens <[email-masked]>
Date: Fri, 23 Jan 1998 11:23:47 +0000

This still seems unlikely.  I mean, configure --srcdir pretty much requires -c 
and -o!

[email-masked] said:
> -DEXTENDED_TITLESTYLE -DBORDERSTYLE -DUSEDECOR -DWINDOWSHADE -DXPM
> -c FvwmButtons.c -o FvwmButtons.o

> gcc: cannot specify -o with -c and
> multiple compilations make[1]: *** [FvwmButtons.o] Error 1

> Why it thinks this is multiple compilations I have no idea,
> but this fails with gcc-2.8.0, egcs 1.0.1 and pgcc 1.0.1 as well. 

Hmm, the isolated LinuxMachineDefines looks dodgy.  I suspect that.

---

From: Andrew Veliath <[email-masked]>
Date: Fri, 23 Jan 1998 08:25:31 -0500

I had the same problem with LinuxMachineDefines and egcs 1.0 about a
month ago or so.  The spec files of the new gccs are different, and
somehow break the Imake preprocessing.  I forgot how I worked around
it, I probably just reinstalled 2.7.2.3 for the meantime.

I just had a quick look.  It seems that when /lib/cpp is called by
itself, it does not get the options listed in the *cpp: section of the
spec file (maybe this is intended).  It receives those options when
called from the gcc driver though.

As a *workaround*, I put the following script as /lib/cpp2:

#! /bin/sh
gcc -E "$@"

Then, in my shell, exported IMAKECPP:

IMAKECPP=/lib/cpp2; export IMAKECPP

Then you should be able to use xmkmf as usual.

--
Regards,
Andrew Veliath
[email-masked], [email-masked]

>>>>> Bruce Stephens writes:

    Bruce> This still seems unlikely.  I mean, configure --srcdir
    Bruce> pretty much requires -c and -o!

    Bruce> [email-masked] said:
    >> -Dlinux LinuxMachineDefines -D_POSIX_C_SOURCE=199309L
    >> -D_POSIX_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE
    >> -DNO_MESSAGE_CATALOG -DFUNCPROTO=15 -DNARROWPROTO -DSHAPE
    >> -DACTIVEDOWN_BTNS -DINACTIVE_BTNS -DMINI_ICONS -DVECTOR_BUTTONS
    >> -DPIXMAP_BUTTONS -DGRADIENT_BUTTONS -DMULTISTYLE
    >> -DEXTENDED_TITLESTYLE -DBORDERSTYLE -DUSEDECOR -DWINDOWSHADE
    >> -DXPM -c FvwmButtons.c -o FvwmButtons.o

    >> this fails with gcc-2.8.0, egcs 1.0.1 and pgcc 1.0.1 as well.

    Bruce> Hmm, the isolated LinuxMachineDefines looks dodgy.  I
    Bruce> suspect that.

---

From: [email-masked] (Paul D. Smith)
Date: 23 Jan 1998 12:50:01 -0500

%% Scott Lampert <[email-masked]> writes:

  sl> On 23-Jan-98 Bruce Stephens wrote:

  >> I confess I haven't looked, but I find it really hard to believe
  >> that gcc now can't accept -c and -o on the same line.

Ditto here, in spades.

  sl>         Well believe it.  Here's a snip from just one object compile.  It
  sl> will do this for everything.

I _still_ don't believe it, and now I can see your problem (first rule
of reporting bugs: _always_ cut and paste the exact problem!)

  sl> gcc -Wall -O2     -I. -I../../libs  -I/usr/X11R6/include -I/include 
  sl> -Dlinux LinuxMachineDefines -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
  sl> -D_BSD_SOURCE -D_SVID_SOURCE  -DNO_MESSAGE_CATALOG  -DFUNCPROTO=15
  sl> -DNARROWPROTO  -DSHAPE -DACTIVEDOWN_BTNS -DINACTIVE_BTNS -DMINI_ICONS
  sl> -DVECTOR_BUTTONS -DPIXMAP_BUTTONS -DGRADIENT_BUTTONS -DMULTISTYLE
  sl> -DEXTENDED_TITLESTYLE -DBORDERSTYLE -DUSEDECOR -DWINDOWSHADE -DXPM    -c
  sl> FvwmButtons.c -o FvwmButtons.o
  sl> gcc: cannot specify -o with -c and multiple compilations

Yes, "multiple compilations".  I certainly believe that.

Allow me to remove the extraneous -I and -D options from your compile
line, and it should be obvious what the problem is:

  sl> gcc -Wall -O2 LinuxMachineDefines -c FvwmButtons.c -o FvwmButtons.o

DOH!  You appear to be trying to compile two files (LinuxMachineDefines
and FvwmButtons.c) into one object file (FvwmButtons.o).  Not gonna
happen!

PS. Can't FVWM use config.h or something instead of providing all those
    -D options on the compile line?  It's most annoying to read :)

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[email-masked]>         Network Management Development
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
     These are my opinions--Bay Networks takes no responsibility for them.
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Mark J Hewitt <[email-masked]>
Date: Fri, 23 Jan 1998 21:38:16 +0000

>         Why it thinks this is multiple compilations I have no idea, but

The "multiple compilations" is the clue - on line 2 of the gcc command
there is "LinuxMachineDefines" - I expect xmkmf has not made the
substitution for this symbol because there is a syntax error in the
Imakefile or a *.tmpl file.
-- 
Mark J. Hewitt      at home           [email-masked]
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Scott Lampert <[email-masked]>
Date: Fri, 23 Jan 1998 16:35:07 -0500 (EST)

Well you guys hit it on the head for me.  Thanks!  I didn't see
the LinuxMachineDefine entry in there.  Guess I shouldn't work on this
stuff at the crack of dawn. :)  In any case, it would appear the cpp
in egcs, pgcc and gcc 2.8.0 is processing the linux.cf differently than
gcc 2.7.2.x and for some reason it never hits the line:

#define LinuxMachineDefine -D__i386__

I found if I moved this line to immediately after the LinuxSourceDefines
in linux.cf it works great.  Thanks again for all the help. It was driving
me nuts. :)
                -Scott

---

---

From: Andrew Veliath <[email-masked]>
Date: Fri, 23 Jan 1998 17:11:31 -0500

Actually, the cpp is not reading the (*cpp section when run by itself)
in the /usr/lib/gcc-lib/.../specs file.  There are other defines it is
also not getting, although you can make it work without modifiying the
Imake configuration, which is okay, with the workaround I posted
earlier.

>>>>> Scott Lampert writes:

    Scott>         Well you guys hit it on the head for me.  Thanks!
    Scott> I didn't see the LinuxMachineDefine entry in there.  Guess
    Scott> I shouldn't work on this stuff at the crack of dawn. :) In
    Scott> any case, it would appear the cpp in egcs, pgcc and gcc
    Scott> 2.8.0 is processing the linux.cf differently than gcc
    Scott> 2.7.2.x and for some reason it never hits the line:

    Scott> #define LinuxMachineDefine -D__i386__

    Scott> I found if I moved this line to immediately after the
    Scott> LinuxSourceDefines in linux.cf it works great.  Thanks
    Scott> again for all the help. It was driving me nuts. :) -Scott