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

Cygwin build of parrot for rakudo star fails because of missing phony.exe #2797

Closed
p6rt opened this issue Jul 4, 2012 · 9 comments
Closed

Comments

@p6rt
Copy link

p6rt commented Jul 4, 2012

Migrated from rt.perl.org#113992 (status was 'resolved')

Searchable as RT113992$

@p6rt
Copy link
Author

p6rt commented Jul 4, 2012

From @ronaldxs

Parrot's Config.pl fails during Check Manifest looking for
t/tools/install/testlib/phony.exe after untarring Rakudo Star under
cygwin and doing a 'perl Configure.pl --gen-parrot'. It turns out that
if one creates a tar file with both phony and phony.exe in the same
directory under *nix and then unpacks it under cygwin, the file with the
.exe file gets removed. See
http://cygwin.com/ml/cygwin/2011-09/msg00326.html for some documentation
on the Cygwin issue.

The file isn't a real executable and doesn't do much, so copying
t/tools/install/testlib/phony to t/tools/install/testlib/phony.exe
effectively got me around the problem. Since the error is caused by
untarring Rakudo Star I don't see it so much as a Parrot problem and
think it might be better fixed on the Rakudo side. I hope to soon
propose a small patch through github to fix it.

Thanks,
Ron

@p6rt
Copy link
Author

p6rt commented Jul 4, 2012

From @pmichaud

On Wed, Jul 04, 2012 at 01​:07​:34PM -0700, Ron Schmidt wrote​:

The file isn't a real executable and doesn't do much, so copying
t/tools/install/testlib/phony to t/tools/install/testlib/phony.exe
effectively got me around the problem. Since the error is caused by
untarring Rakudo Star I don't see it so much as a Parrot problem and
think it might be better fixed on the Rakudo side. I hope to soon
propose a small patch through github to fix it.

Out of curiosity (and before applying the fix), What happens if
you untar a parrot release under Cygwin? Do you also see
the same problem?

Rakudo Star simply gets its Parrots from the official Parrot
tarballs, so if it's a problem for Rakudo Star, it's also likely
a problem for Parrot, and thus fix properly belongs in Parrot.
The tarball that Star used for its 2011.06 release came from

  http://ftp.parrot.org/releases/devel/4.5.0/parrot-4.5.0.tar.gz

If you can explode this tarball and build Parrot under Cygwin then
I agree it's a Star issue. Otherwise, I'd want to get an upstream
fix from Parrot (unless they refuse, at which point we'll make
a workaround in Star somehow).

Thanks,

Pm

@p6rt
Copy link
Author

p6rt commented Jul 4, 2012

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Jul 5, 2012

From @ronaldxs

http://ftp.parrot.org/releases/devel/4.5.0/parrot-4.5.0.tar.gz

If you can explode this tarball and build Parrot under Cygwin then
I agree it's a Star issue. Otherwise, I'd want to get an upstream
fix from Parrot (unless they refuse, at which point we'll make
a workaround in Star somehow).

Well I unpacked the tarball and parrot built OK under cygwin. I also
noticed that phony appeared before phony.exe in the packing order for
parrot and the opposite for rakudo star. I asked on IRC and learned that
parrot was tarred on linux.

On cygwin I then tried the following.

$ gunzip rakudo-star-2012.06.tar.gz
$ tar --delete --file=rakudo-star-2012.06.tar rakudo-star-2012.06/
parrot-4.5.0/t/tools/install/testlib/phony.exe
# won't need the cp command below for actual use ...
$ cp rakudo-star-2012.06/parrot-4.5.0/t/tools/install/testlib/phony
rakudo-star-2012.06/parrot-4.5.0/t/tools/install/testlib/phony.exe
$ tar --append --file=rakudo-star-2012.06.tar rakudo-star-2012.06/
parrot-4.5.0/tools/install/testlib/phony.exe
$ gzip rakudo-star-2012.06.tar

Now when I unpack the the new tarball and build both phony and phony.exe
are there and I can build parrot.

If some kind of Config.pl patch would work better than this approach, let
me know and I'll give it another try.

Ron

@p6rt
Copy link
Author

p6rt commented Jul 5, 2012

From @ronaldxs

In case the word wrapping of that short script is confusing I have attached
it in a file.

@p6rt
Copy link
Author

p6rt commented Jul 5, 2012

From @ronaldxs

$ gunzip rakudo-star-2012.06.tar.gz
$ tar --delete --file=rakudo-star-2012.06.tar rakudo-star-2012.06/parrot-4.5.0/t/tools/install/testlib/phony.exe
# won't need the cp command below for actual use ...
$ cp rakudo-star-2012.06/parrot-4.5.0/t/tools/install/testlib/phony rakudo-star-2012.06/parrot-4.5.0/t/tools/install/testlib/phony.exe
$ tar --append --file=rakudo-star-2012.06.tar rakudo-star-2012.06/parrot-4.5.0/tools/install/testlib/phony.exe
$ gzip rakudo-star-2012.06.tar

@p6rt
Copy link
Author

p6rt commented Jul 5, 2012

From @pmichaud

On Wed, Jul 04, 2012 at 06​:22​:32PM -0700, Ron Schmidt via RT wrote​:

http://ftp.parrot.org/releases/devel/4.5.0/parrot-4.5.0.tar.gz

If you can explode this tarball and build Parrot under Cygwin then
I agree it's a Star issue. Otherwise, I'd want to get an upstream
fix from Parrot (unless they refuse, at which point we'll make
a workaround in Star somehow).

Well I unpacked the tarball and parrot built OK under cygwin. I also
noticed that phony appeared before phony.exe in the packing order for
parrot and the opposite for rakudo star. I asked on IRC and learned that
parrot was tarred on linux.

I'm guessing that it has to do with the packing order, then.
The script we use to build Rakudo Star doesn't do any sorting of
its MANIFEST, thus phony does end up coming after phony.exe .

So, if we just change that script to keep the MANIFEST sorted
before building the tarball (thus putting phony before phony.exe,
as Parrot does), that should avoid the problems with extracting
files under Cygwin.

I'll send you a link to a new tarball to try out under Cygwin;
if that works then we can close this ticket. Thanks!

Pm

@p6rt
Copy link
Author

p6rt commented Jul 30, 2012

From @ronaldxs

Wasn't a problem in 2012.07 ... closing.

@p6rt
Copy link
Author

p6rt commented Jul 30, 2012

@ronaldxs - Status changed from 'open' to 'resolved'

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

No branches or pull requests

1 participant