Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#50215 closed defect (wontfix)

grid-packaging-tools: not compatible with perl5.22, Can't use 'defined(@array)'

Reported by: mojca (Mojca Miklavec) Owned by: dennisvd@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: dbevans (David B. Evans)
Port: grid-packaging-tools globus-core

Description

Due to lack of response in #48365 I went ahead and bumped grid-packaging-tools to use Perl 5.22, but it turns out that the version installed is not compatible with Perl5.22 just yet:

--->  Configuring globus-core
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/V1/Bundle.pm line 1191.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/BundleInstallation.pm line 9.
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/BundleInstallation.pm line 9.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/Algorithms.pm line 9.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/PkgMngmt.pm line 12.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/FilelistFunctions.pm line 10.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/Locations.pm line 52.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/V1/BuildFlavors.pm line 12.
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/V1/BuildFlavors.pm line 12.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/V1/Package.pm line 14.
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.22/Grid/GPT/V1/Package.pm line 14.
Compilation failed in require at /opt/local/sbin/gpt_extract_data line 78.
running gpt-to-pkgconfig

I also wasn't able to use livecheck (it errored out).

If anyone has time to look into it, please advise whether we should go back to 5.16 straight away (just downgrade to 5.16 and revbump again) or try to fix the problem. There is also a fair chance that updates are available, but I didn't manage to reach the website.

Change History (13)

comment:1 Changed 3 years ago by mojca (Mojca Miklavec)

... but then again I get the same error with 5.16:

Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /opt/local/lib/perl5/vendor_perl/5.16.3/Grid/GPT/V1/Bundle.pm line 1191.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.16.3/Grid/GPT/BundleInstallation.pm line 9.
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.16.3/Grid/GPT/BundleInstallation.pm line 9.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.16.3/Grid/GPT/Algorithms.pm line 9.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.16.3/Grid/GPT/PkgMngmt.pm line 12.
...

comment:2 Changed 3 years ago by dbevans (David B. Evans)

Must be an old port. As it says you can change defined(@array) to just @array to fix the issue. I think this was, indeed, a change in perl5.16 or thereabouts.

comment:3 Changed 3 years ago by mojca (Mojca Miklavec)

The question is: is this just a tiny bit old or also old enough to earn some pension already? The website is gone and http://grid.ncsa.illinois.edu/gpt/ lists a newer version from 2004.

The website of globus-core is too difficult to navigate for the sake of finding the version/date of the latest sources. It seems maintained though, but I don't even know if this dependency would still be needed after upgrade.

comment:4 Changed 3 years ago by dbevans (David B. Evans)

I would give the update a try but if it turns out to be a can of worms or isn't very useful, I wouldn't waste too much time. We need to be more ruthless in terms of getting rid of old stuff that's more trouble than it's worth.

comment:5 Changed 3 years ago by mojca (Mojca Miklavec)

This is one of the rare maintained ports, so let's give the maintainer a few days.

I wouldn't try updating either. The main website is gone, some website providing software with the same name exists (hopefully the same software; website has broken links to bug tracker), but while MacPorts ships version 3.6, that version cannot be found on that website at all, the latest version is 4.1a (presumably meaning alpha) from 2004 and all copyrights list 2003.

If the functionality has been broken at least since the removal of perl5.12 (the switch to perl5.16), then apparently nobody missed the software in the meantime anyway.

I still hope that maintainer responds though.

(See also #50213.)

comment:6 Changed 3 years ago by dennisvd@…

This was once a build prerequisite of globus-core and other globus packages. I've been out of touch with globus for a while, but I recall that they changed their build system enough to lose the dependency on grid-packaging-tools.

This is all coming from memory, so it's very fudgy. I'm unfortunately not able to give this all it's due attention since I've changed roles at work and this is all pushed way down the priority list.

I would be glad if another would take over, but even more happy to retire the package completely.

comment:7 Changed 3 years ago by mojca (Mojca Miklavec)

Would you also favour retirement of globus-core or just this one in case that globus-core works without it? (I don't undertand the role of either of the two packages.)

comment:8 Changed 3 years ago by dennisvd@…

globus-core is one of the base packages of the globus toolkit; my original goal was to have a complete gridftp client for Mac OS X. It's been long since I last looked at it though.

comment:9 Changed 3 years ago by mojca (Mojca Miklavec)

I'm still confused and lack the complete picture.

Can you please add/correct my understanding? Basically:

  • globus/gridftp are actively developed
  • grid-packaging-tools is broken, no longer developed/maintained (and according to your words hopefully no longer needed in recent versions of globus/gridftp)
  • you don't care at all if grid-packaging-tools gets removed, except that it probably cannot be removed unless globus-core gets updated (or removed)
  • globus-core in MacPorts is outdated (#50213)
  • you would like to get the complete gtidftp port implemented at some point (globus-core is just a tiny part of the complete picture)
  • you already put a great deal of effort into https://github.com/dvandok/globus-macports, but you lack time and motivation at the moment to finish the job
  • a while ago you requested inclusion of globus-core (#39280) and grid-packaging-tools (#38801) which were both added, while other parts that would be needed were not yet finished and/or included

If I understand the situation correctly and in case that globus-core is "useless" on its own (without all the other sugars from the above mentioned repository) and if we currently have no manpower to bring globus-core up to date + add all other packages, it might be better to keep the development on GitHub (and put the latest version of the Portfile there as well) and first find a new maintainer willing to complete the enormous amount of work that already went into this.

Please advise.

comment:10 in reply to:  9 Changed 3 years ago by dennisvd@…

Replying to mojca@…:

I'm still confused and lack the complete picture.

OK, I just did a quick check of the current Globus Toolkit sources.

Can you please add/correct my understanding? Basically:

  • globus/gridftp are actively developed
  • grid-packaging-tools is broken, no longer developed/maintained (and according to your words hopefully no longer needed in recent versions of globus/gridftp)
  • you don't care at all if grid-packaging-tools gets removed, except that it probably cannot be removed unless globus-core gets updated (or removed)
  • globus-core in MacPorts is outdated (#50213)

All correct.

  • you would like to get the complete gtidftp port implemented at some point (globus-core is just a tiny part of the complete picture)

Actually, the latest release doesn't seem to include globus-core anymore. Globus restructured their sources enough to make all this obsolete. See http://toolkit.globus.org/toolkit/downloads/latest-stable/ and http://toolkit.globus.org/toolkit/docs/6.0/admin/install/#install-bininst .

It did work at one point, but I've been unable to keep up with newer releases. Since globus toolkit 6 also comes with a Mac OS X flavour, the port may not be that urgent anymore.

  • a while ago you requested inclusion of globus-core (#39280) and grid-packaging-tools (#38801) which were both added, while other parts that would be needed were not yet finished and/or included

Correct.

If I understand the situation correctly and in case that globus-core is "useless" on its own (without all the other sugars from the above mentioned repository) and if we currently have no manpower to bring globus-core up to date + add all other packages, it might be better to keep the development on GitHub (and put the latest version of the Portfile there as well) and first find a new maintainer willing to complete the enormous amount of work that already went into this.

Please advise.

Since the latest release is changed so much, what I've done is obsolete. Too bad, but at least upstream made some good progress. I would now suggest to retire globus-core completely (and grid-packaging-tools as well).

comment:11 Changed 3 years ago by mojca (Mojca Miklavec)

Resolution: wontfix
Status: newclosed

OK.

I removed the ports in r144307.

comment:12 Changed 3 years ago by petrrr

Just a site note on this:

I am still very interested in getting Globus into Macports (see also #40664, #43146, #40372, #40562). I have used Dennis’ ports for quite a while and they already worked pretty well for me, but they would require some cleanup/tweaking before they would be committed. I did some ad-hoc fixes/updates but never reached a quality to commit.

I already worked on an equivalente Globus 6 suite of ports (partly based on Dennis’ work). As Dennis already mentioned, the build system of Globus 6 completely different and largely simplified. Both, grid-packaging-tools and globus-core packages are gone, and globus-common is now the base packages in Globus 6.

The big obstacle with globus 6 is that I have not found a way to deterministically disable documentation builds, i.e. documentation would not build if the relevant dependencies are not around. However, if these dependencies are around, they are detected and used for the doc build and there is no obvious way to disable it, e.g. by some configure flags.

Please keep me in the look on Globus related posts or issues.

comment:13 Changed 3 years ago by mojca (Mojca Miklavec)

Great. I wasn't aware that there was someone else interested in these ports, but it seems like it will be almost "work from scratch" anyway (and the ports that have been removed hardly helpful for the process). You already have commit right, so it will be certainly easier for you to add whatever is needed.

Note: See TracTickets for help on using tickets.