From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3181 invoked by alias); 8 Sep 2012 01:30:21 -0000 Received: (qmail 3173 invoked by uid 22791); 8 Sep 2012 01:30:20 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_NX X-Spam-Check-By: sourceware.org Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com) (209.85.214.171) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 08 Sep 2012 01:30:02 +0000 Received: by obqv19 with SMTP id v19so390140obq.2 for ; Fri, 07 Sep 2012 18:30:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.110.40 with SMTP id hx8mr7884708obb.47.1347067800210; Fri, 07 Sep 2012 18:30:00 -0700 (PDT) Received: by 10.182.113.2 with HTTP; Fri, 7 Sep 2012 18:30:00 -0700 (PDT) Date: Sat, 08 Sep 2012 11:26:00 -0000 Message-ID: Subject: perl: inconsistent archname in build config? From: bert Dvornik To: cygwin@cygwin.com Content-Type: text/plain; charset=ISO-8859-1 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/msg00109.txt.bz2 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?) It's been a few years since I've built perl from scratch, and I'm sorry to say really don't have time to experiment with it at the moment. The archname disconnect between CPAN installs and PERL5LIB is being mildly annoying, but easy to band-aid by moving files to the correct directory names. Any clues as to whether the behavior I'm seeing is "correct", and if so, whether it's a problem in how perl was configured for Cygwin or some bug in perl's build system? Thank you in advance for any clues, --bert -- 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