*BSD News Article 25478


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!sgiblab!swrinde!cs.utexas.edu!uunet!caen!usenet.coe.montana.edu!bsd.coe.montana.edu!nate
From: nate@bsd.coe.montana.edu (Nate Williams)
Newsgroups: comp.os.386bsd.questions
Subject: Re: FreeBSD: perl-4.036 fails op/dbm.t test. Need help.
Date: 31 Dec 1993 20:16:14 GMT
Organization: Montana State University - Bozeman MT
Lines: 41
Message-ID: <2g21ae$jh4@pdq.coe.montana.edu>
References: <CIov9E.4o2@luva.stgt.sub.org> <2fohi9$42r@sparc10.entropic.com> <CIsoxx.7By@luva.stgt.sub.org>
NNTP-Posting-Host: bsd.coe.montana.edu

In article <CIsoxx.7By@luva.stgt.sub.org>,
Michael Giegerich <migieger@luva.stgt.sub.org> wrote:

>>>BTW, I had to switch to bash (from tcsh) to avoid an error
>>>with the perl malloc.c.
>>
>>I don't really understand why changing your shell would help you to compile
>>a C module, but what do I know? :-)
>
>The compilation stopped at line 65 of malloc.c (if ALIGNBYTES > 4)
>complaining about the if structure.

I don't understand why using bash instead of tcsh fixed the problem, since
the problem is because ALIGNBYTES is a macro defined by one of the BSD
include files (can't remember which one), and using bash shouldn't make
any difference on including the files.

>BTW, compilation of each module containing ALINGNBYTES warned
>about a redefinition of ALIGNBYTES; this was also true only
>when using tcsh. With bash neither the warnings nor the error
>were seen.

Then bash has something screwed up, because the re-definition is still
there.  Grep through the includes files and you will see where it
is defined.

The thing to do is either undefine before re-defining it in the PERL sources,
or to change the constant from ALIGNBYTES to something else.  (I chose the
latter and changed all occurances of ALIGNBYTES -> AALIGN_BYTES in the 
perl package on freefall)




Nate

-- 
nate@bsd.coe.montana.edu     |  Freely available *nix clones benefit everyone,
nate@cs.montana.edu          |  so let's not compete with each other, let's
work #: (406) 994-4836       |  compete with folks who try to tie us down to
home #: (406) 586-0579       |  proprietary O.S.'s (Microsloth) - Me