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

Prima fails to build at least on GitHub Actions under PDL CI #62

Closed
mohawk2 opened this issue Apr 9, 2022 · 15 comments
Closed

Prima fails to build at least on GitHub Actions under PDL CI #62

mohawk2 opened this issue Apr 9, 2022 · 15 comments

Comments

@mohawk2
Copy link
Contributor

mohawk2 commented Apr 9, 2022

Not sure if you can read this log, unfortunately it's not in any case very verbose: https://github.com/PDLPorters/pdl/runs/5957121872?check_suite_focus=true

Extract (it did used to work, and I note you've just pushed out a new release) - sorry, the referred build.log is not available:

[...]
strict is up to date. (1.12)
! Installing Prima failed. See /root/.cpanm/work/1649537624.25/build.log for details. Retry with --force to force install it.
! Installing the dependencies failed: Module 'Prima' is not installed
! Bailing out the installation for PDL-Drawing-Prima-0.14.
The command '/bin/sh -c if [ -n "$START_XVFB" ]; then Xvfb $DISPLAY & sleep 5; fi; 	cpanm -nq $CPANM_CONFIGURE_DEPS 		&& cpanm -nq --installdeps --dev $CPANM_ARGS 		&& cpanm --verbose --dev $CPANM_ARGS' returned a non-zero code: 1
Could not build PDL-Drawing-Prima at /home/runner/work/pdl/pdl/.github/devops/docker/lib/PDL/Devops/Process/Docker.pm line 20.
make: Leaving directory '/home/runner/work/pdl/pdl/.github/devops/docker'
@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 9, 2022

I can repro on my local machine:

# ...
[path]/perl-5.32.0/bin/perl -I. utils/prima-gencls.pl --inc --h -Isrc --tml src/Object.cls include/generic
[path]/perl-5.32.0/bin/perl -I. utils/prima-gencls.pl --inc --h -Isrc --tml src/Types.cls include/generic
[path]/perl-5.32.0/bin/perl -I. utils/prima-gencls.pl --inc --h -Isrc --tml src/Utils.cls include/generic
Running Mkbootstrap for Prima ()
make: *** No rule to make target 'include/generic/Drawable_private.h', needed by 'src/Drawable.o'. Stop.
make: *** Waiting for unfinished jobs....
chmod 644 "Prima.bs"
-> FAIL Installing Prima failed. See [...]/build.log for details. Retry with --force to force install it.

I tried again with MAKEFLAGS unset in case it was a parallel-build problem, and it gets further but still fails. I think you have an unexpressed dependency, or a file you didn't distribute.

@dk
Copy link
Owner

dk commented Apr 9, 2022

yes that file is missing from the distro... will take a look after vacation

@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 9, 2022

Enjoy your vacation! If you'd like a preliminary CI that you could work from to reduce the chances of this going forward, let us (the PDL porters) know.

@dk
Copy link
Owner

dk commented Apr 9, 2022

Thank you, I'll join the list (later). Meanwhile this is fixed in 1.64_1 but I'm reluctant to push 1.65 just now, if that thing fails, let it at least accumulate other errors from perltesters.

@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 10, 2022

I look forward to seeing you on the list! I'd suggest an early 1.65 since 1.64 is genuinely broken, though?

@dk
Copy link
Owner

dk commented Apr 11, 2022

I'm trying to remove 1.64 from cpan but i never used that functionality and apparently it takes 72 hours. My hope is that 'cpan install Prima' will get 1.63, but indeed if that wouldn't work 1.65 will be there soon

@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 11, 2022

If you want to revert to a previous version the idiomatic way is to re-release the same content as 1.63, with the version number 1.65. You'd then release new ones after that (dev or otherwise).

@perlpunk
Copy link

Just for the record, we are seeing this error in openSUSE too
https://build.opensuse.org/package/live_build_log/devel:languages:perl:autoupdate/perl-Prima/standard/x86_64

[   51s] make: *** No rule to make target 'include/generic/Drawable_private.h', needed by 'src/Drawable.o'.  Stop.

@dk
Copy link
Owner

dk commented Apr 11, 2022

Re-releasing doesnt work like that bc cpan only allows incrementibg versions. Im trying to do the reverse hopefully that will do the right thing

@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 13, 2022

If you give me co-maint on the distro (I'm ETJ on PAUSE) and collab on this repo, I can put out an intermediate 1.65 that is the same as 1.63 but for the version number. Or, I can make a fixed 1.65 since I believe the only problem is the missing file. Either way, I'd suggest you need CI on this thing, which I can also PR for you.

@dk
Copy link
Owner

dk commented Apr 14, 2022

There are more problems in 1.64. But so far it seems that it is gone from cpan. Did the CI pick up that change?

PS 1.65 is coming the next week

@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 15, 2022

I am not going to re-enable it in the CI, since on my command-line I am seeing:

$ cpanm Prima
! Finding Prima on cpanmetadb failed.

Not hugely surprisingly, deleting the latest release didn't reinstate the previous one, but has instead just left a hole. You may succeed in reinstating 1.63 if you login to PAUSE and try the "Force reindexing" option on the 1.63 tarball. I did already lay out the idiomatic way to achieve what you're trying to do, which was to upload a 1.65 with 1.63 content but 1.65 version number. It appears you don't want to do that.

@dk
Copy link
Owner

dk commented Apr 15, 2022

As said, 1.65 is coming the next week. I'm not quite sure why you are ignoring this and doing the strawman about what I want and don't want to do.

@mohawk2
Copy link
Contributor Author

mohawk2 commented Apr 15, 2022

As implied by "I am not going to re-enable it in the CI", the two PDL-using distros are currently disabled in the PDL downstream CI. I really don't know what you think you mean by "strawman". Best of luck.

@mohawk2 mohawk2 closed this as completed Apr 15, 2022
@dk
Copy link
Owner

dk commented Apr 20, 2022

1.65 is out new and passed cpantesters allright. Sorry for the confusion caused.

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