-
Notifications
You must be signed in to change notification settings - Fork 13
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
"Attempt to reload aborted" on Strawberry #88
Comments
The error is "Attempt to reload": does that mean the first load succeeded, and why does it need to reload? |
Maybe try using the For example (untested):
|
Thanks @shawnlaffan! I'm sure this is a better way but still no cigar:
|
Thanks @shawnlaffan, I was about to suggest the same. Packing a script that uses And why does @VladimirAlexiev can you try the following: insert the snippet BEGIN
{
unshift @INC, sub {
my ($ref, $file) = @_;
my ($package, $filename, $line) = caller();
print STDERR "require $file called from $filename line $line\n";
return;
};
} at the start of |
See #76 (comment) for an explanation of "Attempt to reload ... aborted" and possible failure scenarios. |
hi @rschupp thanks for trying to debug this! Here's the result with the debugging code you added:
What is the best way to include a local module, which would work both with But it doesn't even get to that part... |
Trine uses use Module::Load::Conditional qw[can_load];
use LWP::UserAgent;
our ($debug, @ISA, $VERSION, @EXPORT_OK);
BEGIN {
$debug = 0;
$VERSION = '1.019';
require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(iri blank literal variable statement store UNION_GRAPH NIL_GRAPH);
unless ($ENV{RDFTRINE_NO_REDLAND}) {
can_load( modules => {
'RDF::Redland' => undef,
'RDF::Trine::Store::Redland' => undef,
'RDF::Trine::Parser::Redland' => undef,
} ); |
Here are the lines that cause # RDF/Trine/Node.pm line 34.
use RDF::Trine::Node::Resource;
# RDF/Trine/Graph.pm line 82
use RDF::Trine::Node;
# RDF/Trine.pm line 115
use RDF::Trine::Graph;
# script/rdfpuml-pp.pl line 19
use RDF::Trine; Trine loads sub-modules in this order: # Trine.pm:
use RDF::Trine::Graph;
use RDF::Trine::Parser;
use RDF::Trine::Serializer;
use RDF::Trine::Node;
use RDF::Trine::Statement;
use RDF::Trine::Namespace;
use RDF::Trine::NamespaceMap;
use RDF::Trine::Iterator;
use RDF::Trine::Store;
use RDF::Trine::Error;
use RDF::Trine::Model;
use RDF::Trine::Parser::Turtle;
use RDF::Trine::Parser::TriG;
# Graph.pm:
...
use RDF::Trine::Node;
use RDF::Trine::Store;
# Node.pm:
use RDF::Trine::Node::Nil;
use RDF::Trine::Node::Blank;
use RDF::Trine::Node::Literal;
use RDF::Trine::Node::Resource;
use RDF::Trine::Node::Variable;
# all Node::*.pm:
use base qw(RDF::Trine::Node);
# Literal.pm
use RDF::Trine::Error;
use base qw(Error);
package RDF::Trine::Error::CompilationError;
use base qw(RDF::Trine::Error);
package RDF::Trine::Error::QuerySyntaxError;
use base qw(RDF::Trine::Error);
package RDF::Trine::Error::MethodInvocationError;
use base qw(RDF::Trine::Error);
package RDF::Trine::Error::SerializationError;
use base qw(RDF::Trine::Error);
package RDF::Trine::Error::DatabaseError;
use base qw(RDF::Trine::Error);
package RDF::Trine::Error::ParserError;
use base qw(RDF::Trine::Error);
package RDF::Trine::Error::ParserError::Explainable;
use base qw(RDF::Trine::Error::ParserError);
use Module::Load::Conditional qw[can_load];
package RDF::Trine::Error::ParserError::Tokenized;
use base qw(RDF::Trine::Error::ParserError::Explainable);
package RDF::Trine::Error::ParserError::Positioned;
use base qw(RDF::Trine::Error::ParserError::Explainable); |
@VladimirAlexiev Can you check (with |
Thanks a lot, it works!!! Is there something I can help you with to improve dependency detection?
|
Thanks for testing. I simply installed all required modules on linux, packed
That is the typical error when my %module = (
MSWin32 => 'Win32',
os2 => 'OS2',
VMS => 'VMS',
amigaos => 'AmigaOS');
my $module = $module{$^O} || 'Unix';
require "File/Spec/$module.pm"; # <--- Sometimes using I'm still puzzled about the "Attempt to reload ... abort" error message though 🤔
I'll add a hint to |
1.37 2024-11-14 - fix parsing of "use if ..." Fixes errors in PAR::Packer test t/90-rt59710.t - add test for _parse_libs() 1.36 2024-10-21 - Fix CVE-2024-10224: Unsanitized input leads to LPE - use three-argument open() - replace 'eval "..."' constructs Note: this version was not released on CPAN because of Coordinated Release Date for CVE - README: add "Source Repository" and "Contact" info switch "Please submit bug reports to ..." to GitHub issues - add preload rule for MooX::HandlesVia cf. rschupp/PAR-Packer#88
Hi! I'm trying to pack https://github.com/VladimirAlexiev/rdf2rml/blob/master/bin/rdfpuml.pl and all its dependencies.
I use Windows 10, Cygwin and Strawberry
This is perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x64-multi-thread
I think my problems are more basic than https://groups.google.com/g/perl.par/c/KGXwXXSaz2U and that I'm doing something stupid.
This is how I pack it:
When I run it, I get these errors:
Observations:
And all these modules are included in the PAR:
-M
specs are redundant: eg I now notice that I forgot the double colons at the end ofRDF::Query
but a bunch of modules (and subfolders) are included in that module hierarchyRDF/Prefixes/Curie
is a local module that my script uses like this:I noticed there are 2 copies in the archive, one would overwrite the other, but they are supposed to be equivalent (one has the POD stripped out by PAR):
The text was updated successfully, but these errors were encountered: