Skip to content
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

Possible PadWalker missing dependency #9

Open
tobyink opened this issue Jan 9, 2021 · 3 comments
Open

Possible PadWalker missing dependency #9

tobyink opened this issue Jan 9, 2021 · 3 comments

Comments

@tobyink
Copy link
Owner

tobyink commented Jan 9, 2021

Migrated from rt.cpan.org #133926 (status was 'open')

Requestors:

From [email protected] on 2020-12-20 21:14:43
:

Hi,

Reporting a possible missing dependency: PadWalker.

While testing my Art::World module (largely based on Zydeco) in CPANTesters or
on Gitlab-CI, I experiment a missing PadWalker dependency message and a fail of
all tests.

https://gitlab.com/smonff/art-world/-/jobs/923576336

Can't say if it is coming from Zydeco or from an upper level, but the main
information I have is:

Error: Can't locate PadWalker.pm in @inc (you may need to install the

PadWalker module) (@inc contains: /builds/smonff/art-world/lib
/builds/smonff/art-world/local/lib/perl5/5.32.0/x86_64-linux-gnu etc.) at
/builds/smonff/art-world/local/lib/perl5/Zydeco.pm line 847.

This precise 847 line in Zydeco.pm is "requiring" PadWalker, so I guess it is a
start...

If I had PadWalker to the dependencies of my project, everything is fine. Looks
like it has been removed from someone else's dependencies, maybe? Or, I started
to use some features of Zydeco requiring the use of PadWalker, but my
understanding of Zydeco's internal code is a bit limited to go further about
this.

Thanks and happy Christmas!

@tobyink
Copy link
Owner Author

tobyink commented Jan 9, 2021

From [email protected] on 2020-12-26 23:28:28
:

It's caused by using:

Num $gain = $self->config->{ FAME }->{ DEFAULT_BUMP }

In one of your signatures. Zydeco needs to do some pretty nasty stuff to figure out what $self is because at the time defaults are evaluated, $self isn't in scope.

I really need to find a better solution for this.

@tobyink
Copy link
Owner Author

tobyink commented Jan 9, 2021

From [email protected] on 2021-01-08 16:29:28
:

It's caused by using:

Num $gain = $self->config->{ FAME }->{ DEFAULT_BUMP }

In one of your signatures. Zydeco needs to do some pretty nasty stuff
to figure out what $self is because at the time defaults are
evaluated, $self isn't in scope.

I really need to find a better solution for this.

Is it "normal" that adding PadWalker as a dependency "solve" the problem?

I tried to take advantage of the implicit declaration of $self that seemed to
be an acceptable possibility from what I understood. It looks quite surprising
that it can be this way, but why not? Even if some error messages are a bit
difficult to target, Zydeco is still fun to use.

For some issues I encountered, including this one, I just required the use of a
Perl > 5.24.0. Seems like quite rude, but I don't think this experiment I do
will be reused by many people ^^.

@tobyink
Copy link
Owner Author

tobyink commented Jan 9, 2021

From [email protected] on 2021-01-09 21:37:53
:

Yeah, Zydeco should probably have a dependency on PadWalker for this, but even better would be to fix things so Zydeco doesn't need to use PadWalker for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant