[comp.sources.bugs] PAX won't make on my UNIX PC

mark@jhereg.Jhereg.MN.ORG (Mark H. Colburn) (02/07/89)

In article <550@kosman.UUCP> kevin@kosman.UUCP (Kevin O'Gorman) writes:
>I just got PAX off the net and tried to make it on this here UNIX PC.  It
>says right there in the README that it has been done, so I feel foolish
>that I cannot do it.
>
>cc complains that <limits.h> cannot be found.  I trace it down to 
>./limits.h including <limits.h> whenever __STDC__ is defined.  I have
>NO WAY that I can tell to undefine this symbol, and I cannot invent
>this file.
>
>Now what, folks.  The naming situation is tangled, I don't understand
>that __STDC__ symbol, and I don't know what to do.

I would be curious as to what compiler you are using, and what the contents
of you config.h and Makefile are.  If there is a problem, I surely did not
run into it here, but it may well be that my configuration is not quite
standard.

Pax was developed and tested on a 3b1 (the one that I am typing on right
now, as a matter of fact).  It is known to compile with the default system
compiler (cc) and the GNU GCC-1.32 compiler.  If you are using the GNU
compiler, then you should have a limits.h in your
/usr/local/lib/gcc-include directory (or whatever you installed it as).
If you do not have gcc (or some other ANSI compiler), then __STDC__ should 
not be defined.  If you are using some other compiler which is defining 
__STDC__, and which does not supply a limits.h, then you should complain 
to the vendor.

Other work-arounds which you can try are to edit the copy of limits.h which
is provided in PAX and remove the line which inludes <limits.h> if __STDC__
is defined.

I will try to provide any help that I can.

-- 
Mark H. Colburn                  "Look into a child's eye;
Minnetech Consulting, Inc.        there's no hate and there's no lie;
mark@jhereg.mn.org                there's no black and there's no white."

roger@banzai.UUCP (Roger Florkowski) (02/07/89)

In article <550@kosman.UUCP> kevin@kosman.UUCP (Kevin O'Gorman) writes:
>I just got PAX off the net and tried to make it on this here UNIX PC.  It
>says right there in the README that it has been done, so I feel foolish
>that I cannot do it.
>
>cc complains that <limits.h> cannot be found.  I trace it down to 
>./limits.h including <limits.h> whenever __STDC__ is defined.  I have
>NO WAY that I can tell to undefine this symbol, and I cannot invent
>this file.
>

pax tries to include <limits.h> if __STDC__ is defined OR if _POSIX_SOURCE
is defined.  There is nothing in the distribution of pax that
defines __STDC__.  It is expecting this symbol from an ansi c cpp.
So far, so good.  Check if your Makefile defines _POSIX_SOURCE.  I
know it is in there, and it should be commented out.  You should also 
add "-I."  to CFLAGS (minus the quotes) so that the cpp will pick
up the "limits.h" file in the pax distribution.

There should be very few configuration changes needed to get pax to compile.

-- 
Roger Florkowski	       		{uunet!uvm-gen, attmail}!banzai!roger
The People's Computer Company			  `Revolutionary Programming'