Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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" To: Subject: RE: Seg fault in home-built mutt Date: Thu, 20 Feb 2003 21:56:58 -0600 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_001B_01C2D92A.FDB35F40" 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--