[MacPorts] #57797: OpenBLAS @0.3.4_1 forces system AR and RANLIB but this errors on older systems

MacPorts noreply at macports.org
Thu Dec 20 18:02:00 UTC 2018


#57797: OpenBLAS @0.3.4_1 forces system AR and RANLIB but this errors on older
systems
-----------------------+---------------------------------
  Reporter:  kencu     |      Owner:  NicosPavlov
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:  snowleopard leopard
      Port:  openblas  |
-----------------------+---------------------------------
Description changed by kencu:

Old description:

> The Portfile does this:
> {{{
> # Using system ones as default is set to bin/gcc-ar which does not
> # exist, and using gcc-mp ones end up in an error about a missing
> # plugin. (see ticket #38551 for example)
> build.args          "AR=/usr/bin/ar RANLIB=/usr/bin/ranlib"
> }}}
> but on some systems, that results in the following, because the system
> cctools are too old to understand the objects coming out of the newer
> compilers (usually clang-3.9+):
> {{{
> ar: creating archive ../libopenblas-r1.a
> /usr/bin/ranlib: object: ../libopenblas-r1.a(comatcopy.o) malformed
> object (unknown load command 2)
> /usr/bin/ar: internal ranlib command failed
> make[1]: *** [libs] Error 1
> make[1]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_OpenBLAS/OpenBLAS/work/OpenBLAS-0.3.4/interface'
> }}}
>
> I don't presently have a well-thought-out plan for what to do with this
> issue. This force went into the Portfile a long time ago for a gcc
> related issue. Deleting the line forcing AR and RANLIB works well enough.
> Which systems crossed with which compilers has not been fully worked out
> yet.

New description:

 The Portfile does this:
 {{{
 # Using system ones as default is set to bin/gcc-ar which does not
 # exist, and using gcc-mp ones end up in an error about a missing
 # plugin. (see ticket #38551 for example)
 build.args          "AR=/usr/bin/ar RANLIB=/usr/bin/ranlib"
 }}}
 but on some systems, that results in the following, because the system
 cctools are too old to understand the objects coming out of the newer
 compilers (usually clang-3.9+):
 {{{
 ar: creating archive ../libopenblas-r1.a
 /usr/bin/ranlib: object: ../libopenblas-r1.a(comatcopy.o) malformed object
 (unknown load command 2)
 /usr/bin/ar: internal ranlib command failed
 make[1]: *** [libs] Error 1
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_OpenBLAS/OpenBLAS/work/OpenBLAS-0.3.4/interface'
 }}}

 I don't presently have a well-thought-out plan for what to do with this
 issue. This force went into the Portfile a long time ago for a gcc related
 issue. Probably need to have a dependency on cctools and then force the
 build to use those, but which systems crossed with which compilers has not
 been fully worked out yet.

--

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


More information about the macports-tickets mailing list