On Tue, Jul 18, 2023 at 08:27:19AM +0100, Richard W.M. Jones wrote:
> On Tue, Jul 18, 2023 at 08:23:54AM +0100, Richard W.M. Jones wrote:
> > On Mon, Jul 17, 2023 at 04:13:59PM -0600, Jerry James wrote:
> > > The introduction of perl 5.38.0 broke polymake beyond repair. Several
> > > symbols formerly used by polymake have been marked as internal APIs.
> > > They now have the ELF hidden attribute, so we can't even cheat by
> > > adding prototypes to the polymake code.
> >
> > Do you have a list of the deprecated APIs they are using? Or a link
> > to a bug on the topic? I happen to have far too much experience of
> > Perl internals and I might be able to suggest replacements (although
> > not promising anything ...)
>
> This is the only discussion I can find:
>
> https://forum.polymake.org/viewtopic.php?t=1914
>
> Let me remove that configure block and try to see what actually fails
> when it builds ...
The first error is:
/home/rjones/d/fedora/polymake/rawhide/polymake-4.10/lib/core/src/perl/RefHash.xxs:737:11:
error: ‘Perl_ck_fun’ was not declared in this scope; did you mean
‘Perl_cx_dup’?
737 | return Perl_ck_fun(aTHX_ o);
| ^~~~~~~~~~~
| Perl_cx_dup
ninja: build stopped: subcommand failed.
As far as I can see that's the only missing / hidden Perl symbol.
This symbol was hidden in:
https://github.com/Perl/perl5/commit/0351a629e71de127cbfd1b142e9eaa6069deabf5
As for what it does, that's more tricky. I believe what it's doing is
while Perl is parsing the input script, it is used to check that the
thing you are calling is a function. Unfortunately it's slightly more
complicated than that because it can convert some function-like things
to functions (returning the updated OP*). Also Perl_ck_fun is
complicated, to say the least:
https://github.com/Perl/perl5/blob/a6d10131eee6ee336e4bd63f22a378e9d5ae40bd/op.c#L12522
For these reasons we can't just replace 'return Perl_ck_fun(aTHX_ o)'
with 'return aTHX_ o', nor can be copy the function into the polymake
source (since it calls other internal functions, but also for
licensing reasons).
So I think this does require upstream attention.
Another note is this package requires ocaml-tplib which we orphaned.
Rich.
> > Rich.
> >
> > > Polymake upstream is aware of the issue. For the time being, they are
> > > advising their downstreams to stay on perl 5.36.0, which is not
> > > feasible for Fedora. In the long term, they plan to remove the
> > > mandatory perl bindings from polymake. However, they as yet have no
> > > timeline for that effort. It might be years.
> > >
> > > I don't see that I have any choice but to retire polymake from
> > > Rawhide. This will have some repercussions:
> > > - gap-pkg-polymaking, python-jupymake, and python-jupyter-polymake
> > > will also be retired
> > > - sagemath and Macaulay2 will be rebuilt without polymake support
> > > - packages that I have maintained solely for use by polymake will be
> > > orphaned: azove, permlib, plantri, sympol, vinci
> > >
> > > I could try begging the perl package maintainers to add a downstream
> > > patch making the affected symbols visible again. However, since those
> > > symbols are now internal only, the perl maintainers are free to alter
> > > or remove them at any time, so that would not be a good long term
> > > solution.
> > > --
> > > Jerry James, who is currently channeling Billy Joel
> > > http://www.jamezone.org/
> > > _______________________________________________
> > > devel mailing list -- [email protected]
> > > To unsubscribe send an email to [email protected]
> > > Fedora Code of Conduct:
> > > https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> > > List Archives:
> > > https://lists.fedoraproject.org/archives/list/[email protected]
> > > Do not reply to spam, report it:
> > > https://pagure.io/fedora-infrastructure/new_issue
> >
> > --
> > Richard Jones, Virtualization Group, Red Hat
> > http://people.redhat.com/~rjones
> > Read my programming and virtualization blog: http://rwmj.wordpress.com
> > virt-builder quickly builds VMs from scratch
> > http://libguestfs.org/virt-builder.1.html
> > _______________________________________________
> > devel mailing list -- [email protected]
> > To unsubscribe send an email to [email protected]
> > Fedora Code of Conduct:
> > https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
> > https://lists.fedoraproject.org/archives/list/[email protected]
> > Do not reply to spam, report it:
> > https://pagure.io/fedora-infrastructure/new_issue
>
> --
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> Fedora Windows cross-compiler. Compile Windows programs, test, and
> build Windows installers. Over 100 libraries supported.
> http://fedoraproject.org/wiki/MinGW
> _______________________________________________
> devel mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedoraproject.org/archives/list/[email protected]
> Do not reply to spam, report it:
> https://pagure.io/fedora-infrastructure/new_issue
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
nbdkit - Flexible, fast NBD server with plugins
https://gitlab.com/nbdkit/nbdkit
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue