Opened 6 years ago

Closed 6 years ago

#57038 closed defect (fixed)

ruby25 @2.5.1_1+doc+gmp: needs GNU make > 3.80

Reported by: xstnztk (Martin Jerabek) Owned by: kimuraw (kimura wataru)
Priority: Normal Milestone:
Component: ports Version: 2.5.3
Keywords: tiger Cc:
Port: ruby25

Description

Building ruby25 on OSX Tiger 10.4.11 fails because the default /usr/bin/make on Tiger is version 3.80 which is too old for the ruby makefile:

--->  Building ruby25
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ruby25/ruby25/work/ruby-2.5.1" && /usr/bin/make -w all
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ruby25/ruby25/work/ruby-2.5.1'
defs/gmake.mk:67: *** unterminated call to function `foreach': missing `)'.  Stop.

The reported location in the makefile uses a multi-line function call with foreach and eval. I assume that one or both of these functions are not supported in GNU make 3.80 because I was able to work around this problem by installing the current GNU make from MacPorts (version 4.2.1) and passing build.cmd=/opt/local/bin/gmake on the port install command line.

I assume that ruby25 needs a build dependency on a newer GNU make version. Unfortunately I was not able to find out when foreach and eval were added to GNU make. I also did not see anything in the Ruby build documentation about a minimum GNU make version.

Change History (2)

comment:1 Changed 6 years ago by mf2k (Frank Schima)

Cc: kimuraw@… removed
Owner: set to kimuraw
Status: newassigned

comment:2 Changed 6 years ago by kimuraw (kimura wataru)

Resolution: fixed
Status: assignedclosed

In 599ea81add0d18a2509e5758cfcd7ec82cbce7a3/macports-ports (master):

lang/ruby25: fix build error on MacOS X 10.5 Leopard or earlier

Closes: #57038

  • ruby25 requires gmake 3.81 or later.
  • Xcode 3.0 is the first version that contains gmake 3.81. (see https://opensource.apple.com/)
  • Xcode 3.0 shipped with MacOS X 10.5 but Xcode 2.5 is available on 10.5/10.4.
Note: See TracTickets for help on using tickets.