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 Message-ID: <29918078.1113613147316.JavaMail.root@web2.mail.adelphia.net> Date: Fri, 15 Apr 2005 20:59:07 -0400 From: To: cygwin AT cygwin DOT com Subject: build failure for expat-1.95.8-1 cygwin src pkg Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sensitivity: Normal X-IsSubscribed: yes When I ran ./expat-1.95.8-1.sh prep the resulting directory tree was not patched. Manually patched after extracting the patch from the cygwin -src tarball. The build fails with the preprocessor error: #error memmove does not exist on this platform, nor is a substitute available in lib/xmlparse.c line 75. The command line issued by libtool looks approximately like this: /bin/bash ./libtool --silent --mode=compile gcc -g0 -O3\ -Iexpat-1.95.8/lib -I. -o lib/xmlparse.lo\ -c expat-1.95.8/lib/xmlparse.c [line breaks added for posting to email List] and it is obvious that it is not applying the CFLAGS: (from Makefile): CFLAGS = -O3 -march=i686 -Wall -Wmissing-prototypes -Wstrict-prototypes\ -fexceptions -DHAVE_EXPAT_CONFIG_H Because the libtool is not getting or passing on the CFLAGS parameters to gcc, the compilation fails: the HAVE_EXPAT_CONFIG.H option must be present on Cygwin or the show will stop immediately. I retrieved the latest release of libtool and extracted the ltmain.sh file from that tarball, replacing the one that came in expat. Now the build worked as expected, to completion. The libtool release installed on my machine (latest from cygwin at the time of this writing): Cygwin Package Information Package Version Status libtool-devel 1.5.10-1 OK Cygwin Package Information Package Version Status libtool-stable 1.4.3-2 OK Cygwin Package Information Package Version Status libtool 1.5b-1 OK The only thing I know to be non-standard about my setup for this build was the fact that I did not undertake it in /usr/src but in another disk location (not one with any spaces present in its pathname, btw). My conclusion is that use of libtool to build this package on Cygwin is brittle. This is not the first cygwin package release of expat which failed to build for me (last time was in 2002, no details are available to cite after this lengthy interval). My opinion is that GNU libtool is a poor match for the requirements of building of libraries on the ms windows platform. It reminds one a bit of hunting squirrel with a piece of field artillery. You'll definitely send the wee critter out of this life with no remnants to dispose of, but you'll have to get him in your sights first. There also seems to be an issue with the expat-1.95.8-1.sh script not patching the upstream source tree it unpacks. Why this would fail I could not tell (and didn't look too hard). Regards. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/