New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
toolchain possibilities for avoiding "binaries mismatched" error #16722
Comments
From frederik@ofb.netCreated by frederik@ofb.netThis is a follow-up to an earlier bug report, which complains about https://rt.perl.org/Public/Bug/Display.html?id=133440 Thanks to everyone who responded to the original. I guess we're These mostly have to do with the toolchain, 'cpan'/'cpanm', and ---------------------------------------------------------------- Date: Fri, 10 Aug 2018 13:18:56 -0700 I'm not sure why you have Compress::Raw::Zlib installed locally, since Date: Tue, 14 Aug 2018 20:27:23 -0400 These are good ideas. The fundamental issue though is that modules you Date: Sat, 18 Aug 2018 23:27:46 -0700
These are dual-life modules; it is expected and often desired to install Date: Tue, 21 Aug 2018 16:43:58 -0700
You're saying that these modules are purposefully installed by 'cpan' I guess not everyone expects this, because when I first submitted this Date: Tue, 21 Aug 2018 17:00:08 -0700 That is correct. His response seemed to account for this possibility but Date: Tue, 18 Sep 2018 10:43:27 +0100 [...] 1) You were using the OS's perl installation. ---------------- My comments: 1. In using 'cpanm' and local::lib, I thought I was doing the ~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/BinarySearch/XS/XS.so I assume this location is not version-specific, since it has no 2. I think people were taken aback when I mentioned that I have common How are users notified of the fact that system-level modules are being --uninst-shadows How are other people (like Andy Dougherty?) avoiding 'cpan' install 3. My own reason for wanting things to be installed in my home Perhaps I'm taking the wrong approach, maybe I should not be using the Further, when there is an option to install a binary version of a It seems to me that there are a few bugs or potential areas for Thank you, Frederick Perl Info
|
From @iabynOn Sat, Oct 13, 2018 at 12:15:09PM -0700, (via RT) wrote:
A perl configured and built using default options *will* use $ tar xfz ~/perl5/tarballs/perl-5.28.0.tar.gz Please look carefully at the above, and bear it very keenly in mind for
No, by default cpan etc will try to install under the site_perl directory
Users will only get this behaviour if they request it. The term 'dual-life' is usually used (by us at least) to refer to
Again, this just doesn't normally occur with a default installation.
No, what you really want to do is, if installing under your home
I think such functionality would have to be done by the distribution
My thoughts: * The situation is not ideal, but -- |
The RT System itself - Status changed from 'new' to 'open' |
From frederik@ofb.net
Thanks Dave for doing this test (and including the commands), I will |
From @doughera88On Sat, Oct 13, 2018 at 12:15:09PM -0700, (via RT) wrote:
[Incidentally, this issue is not limited to Linux. If I recall correctly,
The central issue is that if you expect to encounter multiple versions of One problem is that if the end user does not have write access to the perl Makefile.PL INSTALLDIRS=perl PREFIX=$HOME/perl is one way to do it, but it depends on how the user wants to organize On the surface, supporting version-specific directories within local::lib -- |
From @LeontOn Mon, Oct 15, 2018 at 1:39 PM Dave Mitchell <davem@iabyn.com> wrote:
local::lib doesn't support version/configuration specific paths Leon |
From @eserteLeon Timmermans <fawaka@gmail.com> writes:
Hmmm. "perldoc perlrun" says: PERL5LIB [...] Any architecture-specific and version-specific So PERL5LIB does the right thing. Unfortunately EUMM's INSTALL_BASE does Regards, -- Berlin Perl Mongers - http://berlin.pm.org |
From @GrinnzOn Mon, 15 Oct 2018 13:23:29 -0700, slaven@rezic.de wrote:
This documentation only mentions 'version-specific' since Perl 5.18.0. The documentation for https://perldoc.pl/lib mentions it since Perl 5.8.9. I'm not sure if this reflects when the feature was actually present, but local::lib does need to support older Perls. |
From @eserte"Dan Book via RT" <perlbug-followup@perl.org> writes:
I still assert that it's not local::lib which is doing things wrong, but BTW, even perl 5.8.1 supports version-specific directories. I don't have Regards, -- |
From @haargOn Mon, Oct 15, 2018 at 1:39 PM Dave Mitchell <davem@iabyn.com> wrote:
This is true if you have permissions to install in site_perl. But if In that case, both CPAN.pm and cpanm will default to using local::lib
local::lib is using the options provided by ExtUtils::MakeMaker and
|
From @haargOn Mon, Oct 15, 2018 at 10:33 PM Dan Book via RT
Automatic support for versioned library paths in both PERL5LIB and
|
From frederik@ofb.netYesterday I wrote "I will do some investigation and try to figure out
|
From frederik@ofb.netThank you Graham for figuring out the reason for the behavior I'm I guess a summary of this thread is that most Perl developers either That this would be necessary seems odd to me, for example my shell Of course, it is not necessary if I don't use 'cpan'/'cpanm', and if I My question would be if there is a way to use 'cpan'/'cpanm' for the Would adding support for versioned paths to ExtUtils::MakeMaker and I am confused by something Dave Mitchell said:
That suggests that I configured 'cpan' at some time to do this but I It would be a big help if I could tell 'cpan' to avoid reinstalling Thanks, Frederick On Tue, Oct 16, 2018 at 04:15:50AM -0700, Graham Knop via RT wrote:
|
From @GrinnzOn Thu, 18 Oct 2018 11:59:00 -0700, frederik@ofb.net wrote:
I don't think it's useful to try to categorize what "most" Perl developers do based on a few people's limited perception of the userbase.
'cpan' and 'cpanm' already skip installing modules which already exist in PERL5LIB, unless the existing version does not satisfy the requirement. CPAN module dependencies often include a version requirement, and the 'cpanm' client can take a version requirement directly: Some::Module@1.23 -Dan |
From frederik@ofb.netOn Thu, Oct 18, 2018 at 12:24:18PM -0700, Dan Book via RT wrote:
Oh sorry I meant ... "developers *of* Perl" not "developers *with*
Thank you, that's helpful to know. In my email of "Tue, 21 Aug 2018 Also I'm confused by the syntax, I would have thought the second $ cpanm Compress::Raw::Zlib@2.076 Thanks, Frederick |
From @GrinnzOn Thu, 18 Oct 2018 13:00:06 -0700, frederik@ofb.net wrote:
2.076 is not the latest version. @2.076 arranges to have exactly that version installed, whereas ~2.076 arranges for that version or higher, equivalent to ~'>= 2.076', and it seems cpanm will take this to mean that it should upgrade the module. -Dan |
From @GrinnzOn Thu, 18 Oct 2018 13:18:40 -0700, grinnz@gmail.com wrote:
You can pass --skip-satisfied to cause it to skip installing the module when it's not at the latest version, but satisfies the specified version range. -Dan |
From @haargOn Thu, 18 Oct 2018 13:18:40 -0700, grinnz@gmail.com wrote:
There is in important difference in behavior between modules mentioned directly on the command line vs prerequisites. Prerequisites will only be upgraded if necessary. Modules specified on the command line will always be upgraded if there is a newer version available that satisfies the version requirements given, unless --skip-satisfied is used. |
Migrated from rt.perl.org#133587 (status was 'open')
Searchable as RT133587$
The text was updated successfully, but these errors were encountered: