Opened 9 years ago

Closed 9 years ago

#48396 closed defect (fixed)

demeter @0.9.21: missing dependency on p5.*-math-round and p5.*-file-which

Reported by: cjmilne+macports@… Owned by: joefowler (Joe Fowler)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: Ionic (Mihai Moldovan)
Port: demeter

Description

Launching artemis fails with missing perl module on Yosemite (10.10.4):

Can't locate Math/Round.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.3 /opt/local/lib/perl5/vendor_perl/5.16.3/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.3 /opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.3 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level/Demeter/ScatteringPath.pm line 44. BEGIN failed--compilation aborted at /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level/Demeter/ScatteringPath.pm line 44. Compilation failed in require at /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level/Demeter.pm line 324. BEGIN failed--compilation aborted at /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level/Demeter/UI/Artemis.pm line 26. Compilation failed in require at /opt/local/bin/artemis line 36. BEGIN failed--compilation aborted at /opt/local/bin/artemis line 36.

[3] Exit 2 artemis

Installation of p5.16-math-round @0.70.0 (perl) fixes dependency and artemis launches properly. hephaestus and athena are unaffected and work properly without this perl module. This module should likely be added as a dependency.

Attachments (1)

demeter.diff (2.9 KB) - added by joefowler (Joe Fowler) 9 years ago.
Patch to the demeter Portfile

Download all attachments as: .zip

Change History (15)

comment:1 Changed 9 years ago by Ionic (Mihai Moldovan)

Cc: ionic@… added
Keywords: perl artemis yosemite removed
Owner: changed from macports-tickets@… to joe.fowler@…
Summary: demeter @0.9.21 component artemis launch failsdemeter @0.9.21: missing dependency on p5.*-math-round

Please CC the maintainer next time, unless it's a pseudo address.

Do not randomly add tags.

CC'ing myself, because the maintainer will need someone to commit changes.

Also, it would be great if demeter could be switched to perl 5.22 (#48365), if possible, too.

Changed 9 years ago by joefowler (Joe Fowler)

Attachment: demeter.diff added

Patch to the demeter Portfile

comment:2 in reply to:  1 Changed 9 years ago by joefowler (Joe Fowler)

Thanks. I'm attaching a patch to the Portfile that fixes #48396 (the missing dependency).

I will look next at the Perl 5.22 upgrade (#48365), but it seems like a big deal and worth having a separate port release for that (assuming I can make it work in the first place).

Replying to ionic@…:

Please CC the maintainer next time, unless it's a pseudo address.

Do not randomly add tags.

CC'ing myself, because the maintainer will need someone to commit changes.

Also, it would be great if demeter could be switched to perl 5.22 (#48365), if possible, too.

comment:3 Changed 9 years ago by Ionic (Mihai Moldovan)

Hm, are you sure about -devel? It formerly depended on pX-math-random, not pX-math-round. I haven't checked whether random has been really dropped, just pointing it out.

Yeah, the perl5.22 switch can and should come as a separate change. I just wanted to raise awareness.

comment:4 Changed 9 years ago by joefowler (Joe Fowler)

Well, it's possible that I misunderstand the relationship between a port and its sub-ports. The reason I dropped p5.16-math-random from the demeter-devel sub-port dependency list is that it was already in the main port's dependencies. Does that covered the sub-port, too?

Working on the perl5.22. My computer should be a good test bed for that, as I had no perl 5.22 installed before today.

comment:5 Changed 9 years ago by Ionic (Mihai Moldovan)

Ah, I missed math-random being part of the general dependencies. No that's totally fine, ignore my rant.

comment:6 Changed 9 years ago by joefowler (Joe Fowler)

No, no. Not a rant! Until today, I have been a maintainer-in-name-only. I had to learn a lot about MacPorts to address this issue. (I hope my notes are detailed enough that it will be easier next time.)

Is it kosher to let this port demeter and demeter-devel be equivalent at the moment? The latest official release is brand new this week, so that is what made sense to me.

Thanks for supervising and mentoring.

comment:7 Changed 9 years ago by Ionic (Mihai Moldovan)

In the end, that's personal preference of the port maintainer(s).

"Some time ago" (years, actually) glib2 and glib2-devel diverged in such a way, that glib2 was more recent than glib2-devel. I made a request at the port maintainer and asked him to at least keep the versions synchronized, if there's currently no new development version available, instead of letting the -devel port go stale and be older than the normal port, because people generally install -devel ports as they want to use newer versions. Being left "behind" is not something I would expect from a -devel port.

He initially dismissed the request, but came around later and since tries to sync them up, AFAIK.

For me, everything is fine, as long as the -devel version is greater or equal the "normal" one.

That said, there's no official rule for that, so it's merely my preference.

comment:8 Changed 9 years ago by Ionic (Mihai Moldovan)

Another thing... dependency changes and version updates normally don't mix well (because it's two different changes semantically, unless the dependency changes are "enforced" by/part of the new version.)

I'll split them up into separate commits.

comment:9 Changed 9 years ago by Ionic (Mihai Moldovan)

Is file-which a missing dependency, too, or new in 0.9.22?

comment:10 in reply to:  8 Changed 9 years ago by joefowler (Joe Fowler)

Right: good idea.

If you do the dependency change after the version update, beware that the revision number will be wrong in the patch that I just submitted to you (by private mail) for the Perl version upgrade.

Probably it makes sense to do the dependency change before the version update, though, in which case ignore the above reminder.

Replying to ionic@…:

Another thing... dependency changes and version updates normally don't mix well (because it's two different changes semantically, unless the dependency changes are "enforced" by/part of the new version.)

I'll split them up into separate commits.

comment:11 in reply to:  9 Changed 9 years ago by joefowler (Joe Fowler)

p5.X-file-which was a missing dependency all along and is not new with 0.9.22.

I discovered this problem by trying to install demeter on a new Mac after I saw this bug ticket. Not only did I reproduce the original poster's bug (missing p5.X-math-round), but also I found a missing p5.X-file-which.

Replying to ionic@…:

Is file-which a missing dependency, too, or new in 0.9.22?

comment:12 Changed 9 years ago by Ionic (Mihai Moldovan)

Summary: demeter @0.9.21: missing dependency on p5.*-math-rounddemeter @0.9.21: missing dependency on p5.*-math-round and p5.*-file-which

And what about the former encoding-fixlatin-xs in the -devel port? Probably just unneeded? There isn't a direct "replacement" in the common dependencies, although there is encoding-fixlatin. Given that the main port worked without it, it's probably just removal of cruft?

comment:13 in reply to:  12 Changed 9 years ago by joefowler (Joe Fowler)

I agree that this is almost surely crufty, since the primary port works using only encoding-fixlatin as a dependency.

Replying to ionic@…:

And what about the former encoding-fixlatin-xs in the -devel port? Probably just unneeded? There isn't a direct "replacement" in the common dependencies, although there is encoding-fixlatin. Given that the main port worked without it, it's probably just removal of cruft?

comment:14 Changed 9 years ago by Ionic (Mihai Moldovan)

Resolution: fixed
Status: newclosed

Committed fix for that issue in r139047.

Misc. changes (like to homepage etc.) that do not impact functionality in r139048.

Update to version 0.9.22 in r139049.

Note: See TracTickets for help on using tickets.