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

Windows support #54

Open
noisegul opened this issue Jul 17, 2019 · 9 comments
Open

Windows support #54

noisegul opened this issue Jul 17, 2019 · 9 comments
Assignees

Comments

@noisegul
Copy link
Contributor

noisegul commented Jul 17, 2019

This issue should mainly be viewed as a hub for discussion and information on this topic to determine the causes of Windows incompatibility, whether Windows support is desired and feasible (at this moment) and if so, how it could be achieved :)
If I can offer assistance I'd like to do so.

Describe the bug
Perl6::Documentable can't be installed using zef due to failing tests on Pod::To::Cached.
If tests are passed with --force-test, running examples will fail.

To Reproduce
Installation error:

  • Download and install Rakudo Star 2019.03
  • Clone Perl6-Documentable
  • zef upgrade
  • zef update
  • zef nuke StoreDir
  • zef install ./Perl6-Documentable

Usage error:

  • zef install --force-test ./Perl6-Documentable
  • Run the following code (a doc folder and the testile.p6 are inside the same folder in this scenario):
use Perl6::Documentable;
use Perl6::Documentable::Processing;

sub MAIN() {
	my $registry = process-pod-collection(
		cache => False,
		verbose => True,
		topdir => "doc",
		dirs => ["Language", "Programs", "Type", "Native"]
	);
}

Error output
Attempting zef install:

> zef install ./Perl6-Documentable/
===> Searching for missing dependencies: Pod::To::Cached, Pod::Utilities, Pod::Utilities::Build, Perl6::TypeGraph:ver<0.0.3>
===> Updating cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
# Failed test 'doc cache created with sub-directories'
# at t\030-sub-directories.t line 25
# $!path has corrupt doc-cache
Cannot look up attributes in a Pod::To::Cached type object
  in method update-cache at C:\Users\tester\.zef\store\pod-cached.git\cd97eb28cc582f845d2acffd8e88b8f7c7eb5228\lib\Pod\To\Cached.pm6 (Pod::To::Cached) line 240
  in block <unit> at t\030-sub-directories.t line 26

# test pod extraction
$!path has corrupt doc-cache
  in submethod TWEAK at C:\Users\tester\.zef\store\pod-cached.git\cd97eb28cc582f845d2acffd8e88b8f7c7eb5228\lib\Pod\To\Cached.pm6 (Pod::To::Cached) line 146
  in block <unit> at t\040-pod-extraction.t line 16

# Heavy duty test optional
===> Testing: Pod::To::Cached:ver<0.3.0>
===> Testing [FAIL]: Pod::To::Cached:ver<0.3.0>
===> Updating p6c mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/p6c1.json
===> Updated p6c mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/p6c1.json
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
Aborting due to test failure: Pod::To::Cached:ver<0.3.0> (use --force-test to override

When trying out example after forcing installation using zef --force-test:

> perl6 testfile.p6 
   1/72: doc/Language/\101-basics.pod6            => language/\101-basics
Too few positionals passed; expected 2 arguments but got 1
  in method new-from-file at C:\rakudo\share\perl6\site\sources\BE2CAF04F8CDB952CB4722F9862EDD347DD13CC0 (Perl6::TypeGraph) line 29
  in sub process-pod-source at C:\rakudo\share\perl6\site\sources\A6AB78CFFF7C59022104F9CB6E211500EDBAC45F (Perl6::Documentable::Processing) line 47
  in sub process-pod-dir at C:\rakudo\share\perl6\site\sources\A6AB78CFFF7C59022104F9CB6E211500EDBAC45F (Perl6::Documentable::Processing) line 38
  in sub process-pod-collection at C:\rakudo\share\perl6\site\sources\A6AB78CFFF7C59022104F9CB6E211500EDBAC45F (Perl6::Documentable::Processing) line 20
  in sub MAIN at testfile.p6 line 5
  in block <unit> at testfile.p6 line 2

Desktop:

  • OS: Windows 10 x64
  • Version 10.0.18362
  • Rakudo Star 2019.03

Additional context:
The installation error seems to happen due to Pod::To::Cached, while the usage error appears
to be mainly caused by the way paths are handled.

@noisegul noisegul added the bug Something isn't working label Jul 17, 2019
@noisegul
Copy link
Contributor Author

I was unsure whether the bug label is the most appropriate. Feel free to change as you see fit.

@antoniogamiz
Copy link
Owner

Bug label is set automatically by the issue template. As I told, windows support is not a feature currently. So this issue should have been made as a feature request, using the proper template.

@antoniogamiz antoniogamiz removed the bug Something isn't working label Jul 19, 2019
@antoniogamiz
Copy link
Owner

Windows support for Pod::To::Cached has been fixed so I will close this for now.

@noisegul
Copy link
Contributor Author

I'm taking another look myself, but it appears that Pod::To::Cached still fails, I'll have to run a few
more scenarios on Windows before I can confirm it and open another issue there (maybe have
somebody else confirm it to rule out that my windows setup is the cause).

I any way as I said I suspect there are other factors preventing Windows support in place.

Should it persist, do you prefer opening a new issue or should I update here in case you want
to reopen it?

@JJ
Copy link
Collaborator

JJ commented Jul 23, 2019 via email

@noisegul
Copy link
Contributor Author

@JJ I will gladly take a look at them and see if I can provide some input if possible :)
(especially given that I had to fight Windows for quite a few hours these past few days, hope
at least some of that work can provide useful on a larger scale).

I have to add however that I am not a Windows user primarily so I'm not best suited in most cases
to offer the most advanced problem analysis.

@antoniogamiz antoniogamiz reopened this Jul 24, 2019
@antoniogamiz
Copy link
Owner

Windows support is not longer a planned feature for this project, because of the numerous problems in the paths, so I will close this.

@JJ
Copy link
Collaborator

JJ commented Aug 23, 2019

We can't simply close this. As much as I don't use Windows, this is an essential module so we need Windows support for it. If the problem is in Pod::To::Cached, let's fix that.

@JJ JJ reopened this Aug 23, 2019
@noisegul
Copy link
Contributor Author

After Pod::To::Cached becomes installable on Windows, we will then probably have to take a look at the way paths are handled, as indicated above.

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

3 participants