X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <46E451FF.7050208@x-ray.at> Date: Sun, 09 Sep 2007 22:05:19 +0200 From: Reini Urban User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: building perl 5.8.8 (was run-time problems with cygwin-1.5.24-2) References: <46DC59AE DOT 40502 AT nvr DOT com> In-Reply-To: <46DC59AE.40502@nvr.com> Content-Type: multipart/mixed; boundary="------------030108000905090101070704" X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 --------------030108000905090101070704 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Todd Brunhoff schrieb: >> * From: Reini Urban >> * Subject: Re: run-time problems with cygwin-1.5.24-2 >> >> ------------------------------------------------------------------------ >> Todd Brunhoff schrieb: >> >> ...In an effort to see what the problem might be, I focussed on >> perl (although interesting, this info may not be helpful): >> - I loaded source for perl 5.8.8, ran Configure, but the compile >> fails because of conflicting vsprintf declarations. >> >> If you follow the directions of the README and download the src >> package you would be able to build your perl. >> A Policy file helps and the correct Configure line is required. > This isn't helpful. You allude to a "correct Configure" line, both > implying that I picked the wrong one, and that you know the right one, > but that I should ask nicely to get it. No, you should follow the usual path by getting the src package and look how perl is built and then follow the instructions how to build perl. There are also vendor patches. $ perl -V Locally applied patches: CYG01 - hints.cygwin.sh ldflags -s CYG02 - lib-ExtUtils-Embed insensitive against leading \s CYG03 - lib-Test-Harness-Straps $ENV{PERL5LIB} = '' CYG04 - major.version.cygwin.sh cygperl-5_8.dll and not cygperl-5_8_x.dll CYG05 - add Win32CORE to core CYG07 - File-Spec-Cygwin-TMPDIR.patch Bug#38628 - allow legacy Cwd->cwd() Bug#40103 - File-Spec-case_tolerant.patch from 5.9.5 Attached is the build and Policy script for your convenience but you really need the src package to get everything. We use: Configure -de \ -Dmksymlinks \ -Duse64bitint \ -Dusethreads \ -Uusemymalloc \ -Doptimize='-O3' \ -Dman3ext='3pm' \ -Dusesitecustomize \ -Dusedevel Why the simpliest Configure -des failed is still in investigation and needs to be fixed upstream of course. But right now we are very busy before the 5.10 release. There are still some showstoppers. Your report is very much appreciated. Esp. for perl5-porters, not here. If I happen to not react fast enough, please report it upstream at perl5-porters by yourself. Jerry Hedden or me are there most of the time. > The README.cygwin says to simply > run Configure, and only makes the suggestion that to accept all the > defaults, -de could be used. And so... I've attached the output from > "Configure -des" and "make -k". You'll note that there are three > compile-time errors. I can fix the last one "perlio.c:5059: error: > conflicting types for 'vprintf'" by uncommenting "#define HAS_VPRINTF" > in config.h. Perhaps you could suggest options for Configure that will > fix all the problems. I'd like that. -- Reini Urban http://phpwiki.org/ http://murbreak.at/ http://helsinki.at/ http://spacemovie.mur.at/ --------------030108000905090101070704 Content-Type: text/plain; name="build.sh" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="build.sh" #!/bin/sh # wget http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.8.tar.gz set -x ## M$ sucks unset LIB unset INCLUDE export CYGWIN=server ## run the build with ntsec on if possible... pkg=perl ver=5.8.8 major=5.8 release=-4 dir=`pwd` shortver=`echo ${ver}${release} | sed 's/-.*//'` buildperl=buildperl ## check prereqs set +x for i in ${pkg}-${ver}.tar.gz ${pkg}-${ver}-ext-Win32CORE.tar.bz2 Policy.sh; do test -e $i || (echo preq $i not found && exit); done exts="Win32API-File-0.1001 \ Pod-Escapes-1.04 Pod-Simple-3.05 Test-Pod-1.26 Devel-Symdump-2.07 Pod-Coverage-0.18 Test-Pod-Coverage-1.08 \ IO-Compress-Base-2.005 \ Compress-Raw-Zlib-2.005 IO-Compress-Zlib-2.005 Compress-Zlib-2.005 \ Compress-Raw-Bzip2-2.005 IO-Compress-Bzip2-2.005 Compress-Bzip2-2.09 \ IO-Zlib-1.05 \ IO-String-1.08 \ MD5-2.03 \ Archive-Tar-1.32 Archive-Zip-1.20 \ Math-BigInt-FastCalc-0.15 \ Term-ReadLine-Perl-1.0302 Term-ReadLine-Gnu-1.16 TermReadKey-2.30 \ XML-NamespaceSupport-1.09 XML-SAX-0.15 XML-LibXML-Common-0.13 XML-LibXML-1.63 \ XML-Parser-2.34 \ Proc-ProcessTable-0.41 \ File-Temp-0.18 YAML-0.62 \ Config-Tiny-2.10 File-Copy-Recursive-0.33 IPC-Run3-0.037 Probe-Perl-0.01 \ Tee-0.13 IO-CaptureOutput-1.03 File-pushd-0.99 File-HomeDir-0.65 \ Digest-SHA-5.45 \ Module-Signature-0.55 \ URI-1.35 HTML-Tagset-3.10 HTML-Parser-3.56 libwww-perl-5.805 \ CPAN-1.9102 \ Test-Reporter-1.27 CPAN-Reporter-0.44 \ Net-Telnet-3.03 \ Module-ScanDeps-0.75 PAR-Dist-0.23 \ ExtUtils-CBuilder-0.19 ExtUtils-ParseXS-2.18 Regexp-Common-2.120 \ version-0.7203 podlators-2.0.5 Pod-Readme-0.09 Module-Build-0.2808 \ B-Generate-1.09 PadWalker-1.5 Alias-2.32" # PAR not because of /usr/bin/pp # Algorithm-Diff-1.1902 Text-Diff-0.35 not needed because we removed usr/bin/ptardiff for i in $exts; do test -e $i.tar.gz || echo preq $i.tar.gz not found; done for i in $exts; do test -e $i.tar.gz || exit; done set -x exit ## checkout builddir rm -rf ${dir}/${buildperl} 2> /dev/null sleep 2 mkdir -p -m 777 ${dir}/${buildperl} ## unpack rm -rf ${pkg}-${ver} 2> /dev/null sleep 2 tar xfz ${pkg}-${ver}.tar.gz tar xjvf ${pkg}-${ver}-ext-Win32CORE.tar.bz2 mkdir -p /usr/share/doc/${pkg}-${ver} /bin/install -m 644 ${pkg}-${ver}/Artistic ${pkg}-${ver}/Copying ${pkg}-${ver}/Changes* ${pkg}-${ver}/README /usr/share/doc/${pkg}-${ver} # pl-hints.cygwin.sh.patch must be before pl-win32CORE.patch for p in pl-*.patch; do (cd ${pkg}-${ver}; patch -p1 -bu <../$p; cd -) done # patch bug: chmod 0000 => 0444 cd ${pkg_ver}; find . -name \*.orig -exec chmod 0444 \{\} \; ## configure perl cd ${dir}/${buildperl} set +x cp ${dir}/Policy.sh ${dir}/${buildperl} sh ${dir}/${pkg}-${ver}/Configure -de \ -Dmksymlinks \ -Duse64bitint \ -Dusethreads \ -Uusemymalloc \ -Doptimize='-O3' \ -Dman3ext='3pm' \ -Dusesitecustomize \ -Dusedevel \ 2>&1 | tee ${dir}/log.configure # Implied by usethreads # -Dusemultiplicity \ # -Uusemymalloc \ ## build perl make -j1 2>&1 | tee ${dir}/log.make #cp /usr/bin/cygcrypt-0.dll . ## make the tests export PERLIO=perlio make -j1 test 2>&1 | tee ${dir}/log.test grep '\.\.skip' ${dir}/log.test > ${dir}/log.test.skipped egrep -i '(\.#|\..FAIL| Fail)' ${dir}/log.test > ${dir}/log.test.failed if test -s ${dir}/log.test.failed; then (cd t; ./perl harness) 2>&1 | tee ${dir}/log.harness fi #rm -f cygcrypt-0.dll ## install make -j1 install-strip DESTDIR="" 2>&1 | tee ${dir}/log.install cd ${dir} rm ${dir}/log.make_vendor ${dir}/log.install_vendor 2> /dev/null # introduce some old and new vendor_perl libs for i in $exts; do rm -rf ${i}; \ (tar xzf ${i}.tar.gz 2>&1 | tee -a ${dir}/log.make_vendor && \ (cd ${i} && \ if test -f ../$i.patch; then \ patch -b -p1 < ../$i.patch 2>&1 | tee -a ${dir}/log.make_vendor; \ find -name \*.orig -exec chmod 0444 \{\} \; ; \ fi && \ ${dir}/${buildperl}/perl Makefile.PL | tee -a ${dir}/log.make_vendor && \ make -j1 2>&1 | tee -a ${dir}/log.make_vendor && \ make -j1 install_vendor UNINST=1 2>&1 | tee -a ${dir}/log.make_vendor)); \ done #Compress::Raw::Zlib requires an invisible y here --------------030108000905090101070704 Content-Type: text/plain; name="Policy.sh" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Policy.sh" #!/bin/sh # Policy file for perl-5.8.8-2 # Where things will be. prefix='/usr' siteprefix='/usr' vendorprefix='/usr' man1dir='/usr/share/man/man1' man3dir='/usr/share/man/man3' siteman1dir='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' vendorman1dir='/usr/share/man/man1' vendorman3dir='/usr/share/man/man3' privlib='/usr/lib/perl5/5.8' privlibexp='/usr/lib/perl5/5.8' archlib='/usr/lib/perl5/5.8/cygwin' archlibexp='/usr/lib/perl5/5.8/cygwin' sitelib='/usr/lib/perl5/site_perl/5.8' #sitelib_stem='/usr/lib/perl5/site_perl' sitelibexp='/usr/lib/perl5/site_perl/5.8' sitearch='/usr/lib/perl5/site_perl/5.8/cygwin' sitearchexp='/usr/lib/perl5/site_perl/5.8/cygwin' vendorlib='/usr/lib/perl5/vendor_perl/5.8' #vendorlib_stem='/usr/lib/perl5/vendor_perl' vendorlibexp='/usr/lib/perl5/vendor_perl/5.8' vendorarch='/usr/lib/perl5/vendor_perl/5.8/cygwin' vendorarchexp='/usr/lib/perl5/vendor_perl/5.8/cygwin' inc_version_list="5.8/cygwin 5.8 cygwin" # The maintainer. mydomain='.x-ray.at' myhostname='reini' perladmin='rurban AT x-ray DOT at' cf_by='rurban' cf_email='cygwin AT cygwin DOT com' # 2007-07-08 04:01:29 rurban --------------030108000905090101070704 Content-Type: text/plain; charset=us-ascii -- 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/ --------------030108000905090101070704--