delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/02/20/22:57:34

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Gary R. Van Sickle" <g DOT r DOT vansickle AT worldnet DOT att DOT net>
To: <cygwin AT cygwin DOT com>
Subject: RE: Seg fault in home-built mutt
Date: Thu, 20 Feb 2003 21:56:58 -0600
Message-ID: <NCBBIHCHBLCMLBLOBONKOEEJDNAA.g.r.vansickle@worldnet.att.net>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
In-Reply-To: <20030219073021.MFEL2030.mtiwgwc16.worldnet.att.net@mtiwgwc16.worldnet.att.net>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Importance: Normal

------=_NextPart_000_001B_01C2D92A.FDB35F40
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

> I managed to get mutt built at the weekend such that
> the dotlock stuff was external. The build I made was
> as follows:

[snip]

> Everything seemed to be fine until I got an email
> with some attachments, which caused a segmentation
> fault. Curious, I switched to the standard build,
> which did not give me the same problem. I'm
> reluctant to post the email which it borks on for
> obviosu reasons, and I can't reproduce it with
> fake data. Apart from that everything's just dandy.
> Has anyone else seen anything like this? Have an
> idea about what might cause it or how I can go
> about getting some more info?
>

I haven't built mutt... uhm... well... since I released -1 :-(.  Lemme try it
here quick...

...well it configures OK...

...

...hmmm, lemme check the Dell website...

...OK, it died.  I'm getting:

  regex.o(.text+0x191f):regex.c: undefined reference to `_btowc'

Don't know what that's all about.

> BTW, Gary, I tried to get my build to be
> +USE_GNU_REGEX as yours but couldn't get it (I
> forget now exactly what the problem was). What
> are the exact ./configure options that you use,
> please?
>

I use the following in my "makemutt" build script, which I thought I included in
the src package:


export PREFIX=/usr

export MAILPATH=/var/spool/mail

OPTS="--with-mailpath=/var/spool/mail --with-regex --enable-pop --enable-imap --
enable-locales-fix --with-ssl \
--enable-buffy-size \
--enable-external-dotlock \
--prefix=/usr \
--sysconfdir=/etc \
--libexecdir=\$(sbindir) \
--localstatedir=/var \
--datadir=\$(prefix)/share \
--with-docdir=${DIR_INST_DOC} \
"


...where "DIR_INST_DOC=/usr/doc/mutt".  makemutt is attached.

--
Gary R. Van Sickle
Brewer.  Patriot.

------=_NextPart_000_001B_01C2D92A.FDB35F40
Content-Type: application/octet-stream;
	name="makemutt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="makemutt"

#!/bin/sh

#DIR_VENDOR_DIST=3Dmutt-1.2.5i
#DIR_SRC=3D${DIR_VENDOR_DIST}-6
DIR_VENDOR_DIST=3Dmutt-1.4
DIR_SRC=3D${DIR_VENDOR_DIST}-1
#DIR_VENDOR_DIST=3Dmutt
#DIR_SRC=3D${DIR_VENDOR_DIST}

# Build directories
DIR_OBJ=3Dmutt-obj
DIR_INST=3Dmutt-install

# Package names
PACKAGENAME_VENDOR=3D${DIR_VENDOR_DIST}
PACKAGENAME_BIN=3D${DIR_SRC}
PACKAGENAME_SRC=3D${DIR_SRC}-src

DIR_INST_DOC=3D/usr/doc/${PACKAGENAME_VENDOR}

# Check to make sure we're running this script in one directory higher
# than DIR_SRC:
if ! test -d "${DIR_SRC}";
then
	echo "ERROR: This script must be run in the directory containing";
	echo "       the ${DIR_SRC} tree.";
	exit 1;
fi

### Functions
rmdir_ifexist()
{
	if test -d $1;
	then
		if ! rm -rf $1;
		then return 1;
		fi;
	fi;
	return 0;		=09
}

echo "Building ${DIR_SRC}"

if (test -d ${DIR_OBJ} || test -d ${DIR_INST});
then
	# Build dirs exits, ask user if they want to wipe out everything and =
start over
	echo -n "Delete build dirs? [y/n]: "
	read DBD
	DBD=3D$(echo $DBD | tr [:upper:] [:lower:]);

	if [ "$DBD" =3D "y" ];
	then
		if ! (rmdir_ifexist ${DIR_OBJ} && rmdir_ifexist ${DIR_INST});
		then
			echo "ERROR: Couldn't remove OBJ and/or INSTALL dirs.";
			exit 1;
		fi
	fi
else
	# No build dirs exist, so pretend the builder said "yes"
	DBD=3Dy;
fi

if ! test -d $DIR_OBJ; then mkdir -p $DIR_OBJ; fi
if ! test -d $DIR_INST; then mkdir -p $DIR_INST; fi

export PREFIX=3D/usr

export MAILPATH=3D/var/spool/mail

OPTS=3D"--with-mailpath=3D/var/spool/mail --with-regex --enable-pop =
--enable-imap --enable-locales-fix --with-ssl \
--enable-buffy-size \
--enable-external-dotlock \
--prefix=3D/usr \
--sysconfdir=3D/etc \
--libexecdir=3D\$(sbindir) \
--localstatedir=3D/var \
--datadir=3D\$(prefix)/share \
--with-docdir=3D${DIR_INST_DOC} \
"


if false;
then
  cd ${DIR_SRC}
  if aclocal -I m4 && autoheader && (cd m4 && make -f Makefile.am.in ) =
&& automake -a -c && autoconf
  then
    echo
    echo "The mutt source code was successfully prepared."
    echo
  else
    echo
    echo "Some part of the preparation process failed."
    echo "Please refer to doc/devel-notes.txt for details."
    echo
    exit 1
  fi
  cd ..
fi

if ! [ "$DBD" =3D "y" ];
then
	# Build directories have not been deleted, give the builder a choice of
	# whether to run configure or not
	echo -n "Run configure? [y/n]: "
	read DBD;
else
	# Build directories are gone, we have no choice but to run configure
	DBD=3D"y";
fi

if [ "$DBD" =3D "y" ];
then
	# Change to build dir and configure
	cd ${DIR_OBJ}
	if ! ../${DIR_SRC}/configure ${OPTS};
	then
		echo "ERROR: Configure failed.";
		exit 1;
	fi
	cd ..
fi

if ! make -C ${DIR_OBJ} CFLAGS=3D"-I../${DIR_OBJ}";
then
	echo "ERROR: Make failed.";
	exit 1;
fi

export DESTDIR=3D$(pwd)/${DIR_INST}
if ! make -C ${DIR_OBJ} -e install;
then
	echo "ERROR: make install failed."
	exit 2;
fi

if true;
then

echo; echo "Creating distribution package...";

# Strip the binaries
echo "Stripping binaries..."
strip $(find ${DIR_INST} -iname '*.exe' -o -iname '*.dll')

# Steal the pre-made HTML docs because I can't for the life of me get =
any
# semblance of sgmltools to work right.
echo "Copying HTML help files..."
cp -p ${DIR_SRC}/doc/*.html ${DIR_INST}/${DIR_INST_DOC}/html

# Remove any old distros that might be lying around
rm ${DIR_INST}/${PACKAGENAME_SRC}.tar > /dev/null 2<&1
rm ${DIR_INST}/${PACKAGENAME_BIN}.tar > /dev/null 2<&1
rm ${DIR_INST}/${PACKAGENAME_SRC}.tar.bz2 > /dev/null 2<&1
rm ${DIR_INST}/${PACKAGENAME_BIN}.tar.bz2 > /dev/null 2<&1

# Generate a reverse diff that can be applied to revert the source back =
to
# the original vendor distribution.
echo "Generating reverse diff..."
diff -Nrup ${DIR_VENDOR_DIST} ${DIR_SRC} > =
${DIR_OBJ}/${PACKAGENAME_BIN}.patch

# Move vendor docs to /usr/doc/${PACKAGENAME_VENDOR}
echo "Moving vendor docs to Cygwin-specified location..."
#mv ${DIR_INST}/usr/doc/mutt ${DIR_INST}/usr/doc/${PACKAGENAME_VENDOR}
mkdir -p ${DIR_INST}/usr/doc/Cygwin
cp -p ${DIR_SRC}/CYGWIN-PATCHES/${PACKAGENAME_BIN}.README =
${DIR_INST}/usr/doc/Cygwin

# Add this script to the src dist
cp -up ./makemutt ${DIR_SRC}/CYGWIN-PATCHES/makemutt

# Package it up
cd ${DIR_INST}
echo "Packaging binaries..."
tar -cf ${PACKAGENAME_BIN}.tar *
cd ..
echo "Packaging source..."
tar -cf ${DIR_INST}/${PACKAGENAME_SRC}.tar ${DIR_SRC}
# Add reverse patch to src dist
cd ${DIR_OBJ}
tar --append -f ../${DIR_INST}/${PACKAGENAME_SRC}.tar =
${PACKAGENAME_BIN}.patch
cd ..

# Compress the distros.  Even if we didn't need to do this here,
# and could use tar -cjf, this allows us to use -9 for better =
compression.
echo "Compressing binary distribution..."
bzip2 -9 ${DIR_INST}/${PACKAGENAME_BIN}.tar
echo "Compressing source distribution..."
bzip2 -9 ${DIR_INST}/${PACKAGENAME_SRC}.tar

# Copy the setup.hint to the install dir.
# Not sure why anymore, I think so the upload script can find it.
cp -p ${DIR_SRC}/CYGWIN-PATCHES/setup.hint ${DIR_INST}/setup.hint

fi;

echo "Done."


------=_NextPart_000_001B_01C2D92A.FDB35F40
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
------=_NextPart_000_001B_01C2D92A.FDB35F40--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019