From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7442 invoked by alias); 9 Sep 2012 22:17:44 -0000 Received: (qmail 7433 invoked by uid 22791); 9 Sep 2012 22:17:42 -0000 X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_NX X-Spam-Check-By: sourceware.org Received: from mail-lpp01m010-f43.google.com (HELO mail-lpp01m010-f43.google.com) (209.85.215.43) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 09 Sep 2012 22:17:28 +0000 Received: by lagm14 with SMTP id m14so765209lag.2 for ; Sun, 09 Sep 2012 15:17:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.112.83.35 with SMTP id n3mr4098843lby.68.1347229047164; Sun, 09 Sep 2012 15:17:27 -0700 (PDT) Received: by 10.114.63.177 with HTTP; Sun, 9 Sep 2012 15:17:27 -0700 (PDT) In-Reply-To: References: Date: Sun, 09 Sep 2012 22:27:00 -0000 Message-ID: Subject: Re: perl: inconsistent archname in build config? From: Reini Urban To: cygwin@cygwin.com Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2012-09/txt/msg00121.txt.bz2 On Fri, Sep 7, 2012 at 8:30 PM, bert Dvornik wrote: > Summary: Cygwin's perl 5.14 uses cygwin-thread-multi-64int as the > archname for user module directories (i.e. those based on PERL5LIB), > but i686-cygwin-threads-64int as the archname for system module > directories and for installing files via cpan. This seems to be based > on the build configuration (there are two settings in different > places). It doesn't make sense to me, though maybe I'm missing > something. > > Long version: > > I ran into a problem with local module paths after updating to > perl-5.14.2-3. I usually install Perl modules locally into > ~/perl-lib/ by setting the prefix via CPAN's makepl_arg and > mbuildpl_arg configuration options. Then I can set my PERL5LIB to get > that installation tree automatically used by perl. > > This worked fine up to and including perl 5.10. But with 5.14 > something strange started happening. If I look at the @INC in the > "perl -V" output, I see this: > > Summary of my perl5 (revision 5 version 14 subversion 2) configuration: > [...lots of verbiage removed; see below for full output...] > %ENV: > PERL5LIB="/home/bert/perl-lib/lib/perl5:/home/bert/perl-lib/lib/perl5/site_perl/5.14:/home/bert/perl-lib/lib/perl5/5.14" > @INC: > /home/bert/perl-lib/lib/perl5/cygwin-thread-multi-64int > /home/bert/perl-lib/lib/perl5 > /home/bert/perl-lib/lib/perl5/site_perl/5.14/cygwin-thread-multi-64int > /home/bert/perl-lib/lib/perl5/site_perl/5.14 > /home/bert/perl-lib/lib/perl5/5.14/cygwin-thread-multi-64int > /home/bert/perl-lib/lib/perl5/5.14 > /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int > /usr/lib/perl5/site_perl/5.14 > /usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int > /usr/lib/perl5/vendor_perl/5.14 > /usr/lib/perl5/5.14/i686-cygwin-threads-64int > /usr/lib/perl5/5.14 > /usr/lib/perl5/site_perl/5.10 > /usr/lib/perl5/vendor_perl/5.10 > /usr/lib/perl5/site_perl/5.8 > . > There are two odd things about this. First, the @INC directories from > PERL5LIB use cygwin-thread-multi-64int, but the system ones use > i686-cygwin-threads-64int. Second, when CPAN installs packages, they > go into i686-cygwin-threads-64int, which is why the ones in my > perl-lib directory are not being found in @INC. > > Looking more closely at the output of "perl -V", I can see what's > probably causing the confusion: > > Summary of my perl5 (revision 5 version 14 subversion 2) configuration: > > Platform: > osname=cygwin, osvers=1.7.15(0.26053), archname=cygwin-thread-multi-64int > uname='cygwin_nt-5.1 winxp 1.7.15(0.26053) 2012-05-09 10:25 i686 cygwin ' > config_args='-de -Dlibperl=cygperl5_14.dll -Dcc=gcc-4 -Dld=g++-4 > -Darchname=i686-cygwin-threads-64int -Dmksymlinks -Dusethreads > -Accflags=-g' > > So the platform settings have "archname=cygwin-thread-multi-64int", > but config_args include "-Darchname=i686-cygwin-threads-64int". (Is > config_args the arg list passed to the "sh Configure" when building > perl? If so, shouldn't -Darchname ACTUALLY set the archname? Or is > there some other weirdness going on here?) Very interesting catch, thank you! I will need to think a bit how to fix this, not to break too much. Or if it needs t be fixed at all. EU::MM seems to work okay, just MB and local::lib seems to be affected. Yes, config_args is the cmdline, but archname is overridden elsewhere in the old Configure system, most likely the hints. -- Reini Urban http://cpanel.net/ http://www.perl-compiler.org/ -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple