ugexe / zef

Raku Module Management
Artistic License 2.0
211 stars 45 forks source link

Relocatable Rakudo and zef #323

Open hankache opened 5 years ago

hankache commented 5 years ago

On Windows 10:

You planned 10 tests, but ran 5

Failed test 'can retrieve http://github.com/'

at t/issue-7.t line 21

Failed to open file C:\rakudo\share\perl6\site\dist\BBA6CC2442CDDBD0FD7CC08C7F699CEAFBBA8D56: No such file or directory

You failed 1 test of 1

===> Testing [FAIL]: LWP::Simple:ver<0.106>:auth Aborting due to test failure: LWP::Simple:ver<0.106>:auth (use --force-test to override)

hankache commented 5 years ago

PS: This might not be related to zef but it would be great if you can point us in the right direction. The purpose of this exercise is to create a relocatable Rakudo + Zef + Modules (Rakudo Star) on Windows so that users would be able to install anywhere not only on C:\rakudo

PS2: After running zef uninstall OpenSSL and zef install OpenSSL, zef install LWP::Simple works. It feels weird since none of them depends on the other!

ugexe commented 5 years ago

What do you mean none of them depend on each other? The stack trace quite clearly implicates OpenSSL::NativeLib::dll-resource. And while I don't know why exactly it doesn' work, I can't say I'm surprised to find a compile time variable confused after relocating things it originally referred to

hankache commented 5 years ago

@ugexe What I mean is that based on https://github.com/perl6/perl6-lwp-simple/blob/master/META6.json I don't see any dependency on OpenSSL. That being said I noticed that one test of LWP::Simple requires IO::Socket::SSL which depends on OpenSSL: https://github.com/perl6/perl6-lwp-simple/blob/eb48ab98b3422b40cd0def8faa882abb9184c265/t/getstore.t#L17

hankache commented 5 years ago

If I understand correctly, you mean to say that OpenSSL::NativeLib::dll-resource still points to the old location? Where should this be reported, here or in https://github.com/rakudo/rakudo. Or should it not be reported at all and this is how things work? Thanks

ugexe commented 5 years ago

You could add debug output to the gen-lib -- https://github.com/sergot/openssl/blob/edf86b6dbc7ba6dfc44cdc7e4dd853fc6ca189cb/lib/OpenSSL/NativeLib.pm6#L9-L13 to get a better idea.

What OpenSSL is doing with &gen-lib/resources is a hack, but I don't think it is at fault. The error C:\rakudo\share\perl6\site\dist\BBA6CC2442CDDBD0FD7CC08C7F699CEAFBBA8D56: No such file or directory also doesn't make sense to me given the backtrace (I would have expected ...\site\resources\... not ...\site\dist\...)