[MacPorts] #68232: john-jumbo @1.9.0_3: does not install executables on arm64

MacPorts noreply at macports.org
Sun Sep 24 01:52:49 UTC 2023


#68232: john-jumbo @1.9.0_3: does not install executables on arm64
------------------------------------------+----------------------
  Reporter:  JDLH                         |      Owner:  catap
      Type:  defect                       |     Status:  assigned
  Priority:  Normal                       |  Milestone:
 Component:  ports                        |    Version:  2.8.1
Resolution:                               |   Keywords:
      Port:  john-jumbo john-jumbo-devel  |
------------------------------------------+----------------------

Comment (by ryandesign):

 Replying to [ticket:68232 JDLH]:
 > Ports john-jumbo @1.9.0_3 and john-jumbo-devel @1.9.0_3 appear to
 install no executable. This may be limited to arm64 (M1, Apple Silicon)
 architectures. This appears to be true regardless of the presence or
 absence of the +threads and +native variants.

 I'm surprised to see another ticket about these ports, given all of the
 previous tickets you filed that were now resolved.

 > **Discussion**: Looking at the [https://github.com/macports/macports-
 ports/blob/master/sysutils/john/Portfile Portfile for john], the "john"
 port has a [https://github.com/macports/macports-
 ports/blob/69e775cfd7bbf6d44b24b9b1deb2fd2872c1c254/sysutils/john/Portfile#L22
 supported_archs directive] and a [https://github.com/macports/macports-
 ports/blob/caf99e9c4ba87622cadb58b3496a23fd12ef4450/sysutils/john/Portfile#L48-L75
 switch statement about how to handle various archictectures], but the
 "john-jumbo" and "john-jumbo-devel" ports appear to lack these. Is Arm64
 included in the default supported_archs list?

 Yes, as discussed in previous tickets, john doesn't support arm64 and yes
 it needs a switch statement to tell the custom Makefile what architecture
 to build for. john-jumbo and its -devel counterpart have been fixed to
 work on arm64 and use an autotools build system that does not need to be
 informed about the architecture. Yes, when a portfile does not specify
 `supported_archs`, all architectures are assumed to be supported. You can
 tell that arm64 is among this port's set of supported architectures by the
 fact that the name of the archive MacPorts tried to download contained
 "arm64" before the .tbz2 extension.

 Replying to [comment:3 catap]:
 > The root cause of issue that `make all` doesn't work as expected:
 https://github.com/openwall/john/blob/bleeding-
 jumbo/src/Makefile.in#L971-L975 instead it should use `default` or another
 target.
 >
 > One of PRs review was suggestion to cleanup build target which
 introduced this issue.

 What I [https://github.com/macports/macports-
 ports/pull/20299#pullrequestreview-1608722663 said in that PR] was that
 `build.target clean` and the architecture `switch` statement should apply
 only to the john port, not to all of the subports as you originally had
 it. I didn't say to remove `build.target default`.

-- 
Ticket URL: <https://trac.macports.org/ticket/68232#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list