[MacPorts] #66639: ruby31 3.1.3: fails to build on OS X 10.8 and 10.9

MacPorts noreply at macports.org
Sat Jan 7 14:17:09 UTC 2023


#66639: ruby31 3.1.3: fails to build on OS X 10.8 and 10.9
---------------------+-------------------------------------
  Reporter:  erikbs  |      Owner:  (none)
      Type:  defect  |     Status:  new
  Priority:  Normal  |  Milestone:
 Component:  ports   |    Version:
Resolution:          |   Keywords:  mountainlion, mavericks
      Port:  ruby31  |
---------------------+-------------------------------------
Description changed by ryandesign:

Old description:

> The build configures as usual, but fails during the build stage. Log
> extract:
> {{{
> ...
> :info:build make[1]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3'
> :info:build generating makefile exts.mk
> :info:build compiling ./enc/trans/emoji_sjis_kddi.c
> :info:build compiling ./enc/iso_8859_2.c
> :info:build compiling ./enc/iso_8859_3.c
> :info:build exts.mk updated
> :info:build make[1]: Entering directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3'
> :info:build make[2]: Entering directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3/ext/-test-/RUBY_ALIGNOF'
> :info:build make[2]: *** No rule to make target `all'.  Stop.
> :info:build make[2]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3/ext/-test-/RUBY_ALIGNOF'
> :info:build make[1]: *** [ext/-test-/RUBY_ALIGNOF/all] Error 2
> }}}
>
> The error is not that `ext/-test-/RUBY_ALIGNOF/Makefile` does not contain
> a target `all`, but that the Makefile in this directory does not exist at
> all. According to a comment on an earlier ticket from a few months ago
> (https://trac.macports.org/ticket/65290#comment:1), the generation of
> this Makefile overwrites the Makefile in the build root directory, and
> that seems to be the case on my system as well.
>
> I have tried compiling with Clang 14, Clang 15 and GCC 11 – the result is
> always the same. I also tried using `gmake` instead of `make` and to
> build with `use_autoreconf yes` in the Portfile (required an additional
> patch akin to `patch-configure.diff` for `configure.ac`). Nothing helped.
>
> If I build Ruby from source outside of Macports (same source tgz), I do
> not encounter this issue. I noticed that even if I pass all the Portfile
> configure options, the generated Makefiles are quite different (I will
> attach both files).

New description:

 The build configures as usual, but fails during the build stage. Log
 extract:
 {{{
 ...
 :info:build make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3'
 :info:build generating makefile exts.mk
 :info:build compiling ./enc/trans/emoji_sjis_kddi.c
 :info:build compiling ./enc/iso_8859_2.c
 :info:build compiling ./enc/iso_8859_3.c
 :info:build exts.mk updated
 :info:build make[1]: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3'
 :info:build make[2]: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3/ext/-test-/RUBY_ALIGNOF'
 :info:build make[2]: *** No rule to make target `all'.  Stop.
 :info:build make[2]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_ruby31/ruby31/work/ruby-3.1.3/ext/-test-/RUBY_ALIGNOF'
 :info:build make[1]: *** [ext/-test-/RUBY_ALIGNOF/all] Error 2
 }}}

 The error is not that `ext/-test-/RUBY_ALIGNOF/Makefile` does not contain
 a target `all`, but that the Makefile in this directory does not exist at
 all. According to a comment on an earlier ticket from a few months ago
 (comment:ticket:65290:1), the generation of this Makefile overwrites the
 Makefile in the build root directory, and that seems to be the case on my
 system as well.

 I have tried compiling with Clang 14, Clang 15 and GCC 11 – the result is
 always the same. I also tried using `gmake` instead of `make` and to build
 with `use_autoreconf yes` in the Portfile (required an additional patch
 akin to `patch-configure.diff` for `configure.ac`). Nothing helped.

 If I build Ruby from source outside of Macports (same source tgz), I do
 not encounter this issue. I noticed that even if I pass all the Portfile
 configure options, the generated Makefiles are quite different (I will
 attach both files).

--

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


More information about the macports-tickets mailing list