Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[macOS] Build does not respect env settings and picks an arbitrary Ruby from system prefix which is prone to failure #215

Open
barracuda156 opened this issue Mar 15, 2024 · 9 comments

Comments

@barracuda156
Copy link

ruby /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb -l -o t_bit.c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/bit.rb
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:45: syntax error, unexpected ':', expecting kEND
  set line_number: $line_number
                  ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:46: syntax error, unexpected ':', expecting kEND
  set erb_dir: erb_dir
              ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:47: syntax error, unexpected ':', expecting kEND
  set erb_suffix: ".c"
                 ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:48: syntax error, unexpected ':', expecting kEND
  set ns_var: "mNumo"
             ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:50: syntax error, unexpected ':', expecting kEND
  set file_name: $output||""
                ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:51: syntax error, unexpected ':', expecting kEND
  set include_files: ["numo/types/#{type_name}.h"]
                    ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:52: syntax error, unexpected ':', expecting kEND
  set lib_name: "numo_"+type_name
               ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:55: syntax error, unexpected ':', expecting kEND
    set is_simd: true
                ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:57: syntax error, unexpected ':', expecting kEND
    set is_simd: false
                ^
make: *** [t_bit.c] Error 1

make failed, exit code 2
@barracuda156
Copy link
Author

Any update on this?

P. S. Opened a ticket on Trac too: https://trac.macports.org/ticket/70129

@jneen
Copy link

jneen commented Jun 18, 2024

What is your ruby version? Colon syntax like this has been around in ruby for a long time. nevermind ignore me, it seems to be ruby 3.2 according to your directory structure. Maybe there's something wrong with your $PATH during build - perhaps calling the wrong ruby binary.

@barracuda156
Copy link
Author

@jneen Thank you. Directory structure is fine since we successfully build numerous Ruby ports, but you gave me an idea: it seems from the log that numo-narray build ignores environment and just calls for ruby, which would indeed pull in a wrong, system version of, Ruby.
That will explain why the build fails on every system up to Sierra: https://ports.macports.org/port/rb32-numo-narray/details
Perhaps after than system Ruby is new enough.
This should be fixable, I need to patch build file to ensure it picks the right Ruby and not something random from system prefix.

@barracuda156
Copy link
Author

Honestly I think this is a bug:

sh "cd ext/numo/narray; ruby extconf.rb; make src"

There should be something to pick the right Ruby from environment, but instead it hardcodes ruby.

@barracuda156
Copy link
Author

UPD. Unfortunately, fixing that does not help. Here is the Makefile (on 10.8 x86_64):


SHELL = /bin/sh

# V=0 quiet, V=1 verbose.  other values don't work.
V = 0
V0 = $(V:0=)
Q1 = $(V:1=)
Q = $(Q1:0=@)
ECHO1 = $(V:1=@ :)
ECHO = $(ECHO1:0=@ echo)
NULLCMD = :

#### Start of system configuration section. ####

srcdir = .
topdir = /opt/local/include/ruby-3.2.4
hdrdir = $(topdir)
arch_hdrdir = /opt/local/include/ruby-3.2.4/x86_64-darwin12.0
PATH_SEPARATOR = :
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
prefix = $(DESTDIR)/opt/local
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
rubyarchprefix = $(rubylibprefix)/$(arch)
rubylibprefix = $(exec_prefix)/lib/ruby3.2
exec_prefix = $(prefix)
vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
sitearchhdrdir = $(sitehdrdir)/$(sitearch)
rubyarchhdrdir = $(rubyhdrdir)/$(arch)
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
sitehdrdir = $(rubyhdrdir)/site_ruby
rubyhdrdir = $(DESTDIR)/opt/local/include/ruby-3.2.4
vendorarchdir = $(vendorlibdir)/$(sitearch)
vendorlibdir = $(vendordir)/$(ruby_version)
vendordir = $(rubylibprefix)/vendor_ruby
sitearchdir = $(sitelibdir)/$(sitearch)
sitelibdir = $(sitedir)/$(ruby_version)
sitedir = $(rubylibprefix)/site_ruby
rubyarchdir = $(rubylibdir)/$(arch)
rubylibdir = $(rubylibprefix)/$(ruby_version)
sitearchincludedir = $(includedir)/$(sitearch)
archincludedir = $(includedir)/$(arch)
sitearchlibdir = $(libdir)/$(sitearch)
archlibdir = $(libdir)/$(arch)
ridir = $(datarootdir)/$(RI_BASE_NAME)
mandir = $(DESTDIR)/opt/local/share/man
localedir = $(datarootdir)/locale
libdir = $(exec_prefix)/lib
psdir = $(docdir)
pdfdir = $(docdir)
dvidir = $(docdir)
htmldir = $(docdir)
infodir = $(datarootdir)/info
docdir = $(datarootdir)/doc/$(PACKAGE)
oldincludedir = $(DESTDIR)/usr/include
includedir = $(SDKROOT)$(prefix)/include
runstatedir = $(localstatedir)/run
localstatedir = $(prefix)/var
sharedstatedir = $(prefix)/com
sysconfdir = $(prefix)/etc
datadir = $(datarootdir)
datarootdir = $(prefix)/share
libexecdir = $(exec_prefix)/libexec
sbindir = $(exec_prefix)/sbin
bindir = $(exec_prefix)/bin
archdir = $(rubyarchdir)


CC_WRAPPER = 
CC = /usr/bin/clang -std=gnu11
CXX = /usr/bin/clang++
LIBRUBY = $(LIBRUBY_SO)
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework Security -framework CoreFoundation $(MAINLIBS)
empty =
OUTFLAG = -o $(empty)
COUTFLAG = -o $(empty)
CSRCFLAG = $(empty)

RUBY_EXTCONF_H = /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/numo/extconf.h
cflags   = $(optflags) $(debugflags) $(warnflags)
cxxflags = 
optflags = -O3 -fno-fast-math
debugflags = -ggdb3
warnflags = -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wundef
cppflags = 
CCDLFLAGS = -fno-common
CFLAGS   = $(CCDLFLAGS) -pipe -I/opt/local/libexec/openssl3/include -Os -fno-common $(ARCH_FLAG)
INCFLAGS = -I. -Itypes -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
DEFS     = 
CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/opt/local/include -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
CXXFLAGS = $(CCDLFLAGS) -pipe -I/opt/local/libexec/openssl3/include -Os -stdlib=libc++ $(ARCH_FLAG)
ldflags  = -L. -L/opt/local/libexec/openssl3/lib -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -fstack-protector -L/opt/local/lib
dldflags = -L/opt/local/libexec/openssl3/lib -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -arch x86_64 -L/opt/local/lib -Wl,-multiply_defined,suppress -Wl,-undefined,dynamic_lookup $(LIBRUBYARG_SHARED)
ARCH_FLAG =  -arch x86_64
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
LDSHARED = $(CC) -dynamic -bundle
LDSHAREDXX = $(CXX) -dynamic -bundle
AR = /opt/local/bin/ar
EXEEXT = 

RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.2
RUBY_SO_NAME = ruby.3.2
RUBYW_INSTALL_NAME = 
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
RUBYW_BASE_NAME = rubyw
RUBY_BASE_NAME = ruby

arch = x86_64-darwin12.0
sitearch = $(arch)
ruby_version = 3.2.0
ruby = $(bindir)/$(RUBY_BASE_NAME)3.2
RUBY = $(ruby)
BUILTRUBY = $(bindir)/$(RUBY_BASE_NAME)3.2
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h $(RUBY_EXTCONF_H)

RM = rm -f
RM_RF = rm -fr
RMDIRS = rmdir -p
MAKEDIRS = mkdir -p
INSTALL = /usr/bin/install -c
INSTALL_PROG = $(INSTALL) -m 0755
INSTALL_DATA = $(INSTALL) -m 644
COPY = cp
TOUCH = exit >

#### End of system configuration section. ####

preload = 
libpath = . $(libdir) /opt/local/lib
LIBPATH =  -L. -L$(libdir) -L/opt/local/lib
DEFFILE = 

CLEANFILES = mkmf.log
DISTCLEANFILES = 
DISTCLEANDIRS = 

extout = 
extout_prefix = 
target_prefix = /numo
LOCAL_LIBS = 
LIBS = $(LIBRUBYARG_SHARED)  -lpthread  
ORIG_SRCS = SFMT.c array.c data.c index.c kwargs.c math.c narray.c ndloop.c rand.c step.c struct.c
SRCS = $(ORIG_SRCS) narray.c array.c step.c index.c ndloop.c data.c t_bit.c t_int8.c t_int16.c t_int32.c t_int64.c t_uint8.c t_uint16.c t_uint32.c t_uint64.c t_sfloat.c t_dfloat.c t_scomplex.c t_dcomplex.c t_robject.c math.c SFMT.c struct.c rand.c
OBJS = narray.o array.o step.o index.o ndloop.o data.o t_bit.o t_int8.o t_int16.o t_int32.o t_int64.o t_uint8.o t_uint16.o t_uint32.o t_uint64.o t_sfloat.o t_dfloat.o t_scomplex.o t_dcomplex.o t_robject.o math.o SFMT.o struct.o rand.o
HDRS = $(srcdir)/SFMT-params.h $(srcdir)/SFMT-params19937.h $(srcdir)/SFMT.h
LOCAL_HDRS = 
TARGET = narray
TARGET_NAME = narray
TARGET_ENTRY = Init_$(TARGET_NAME)
DLLIB = $(TARGET).bundle
EXTSTATIC = 
STATIC_LIB = 

TIMESTAMP_DIR = .
BINDIR        = $(bindir)
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
RUBYLIBDIR    = $(sitelibdir)$(target_prefix)
RUBYARCHDIR   = $(sitearchdir)$(target_prefix)
HDRDIR        = $(sitehdrdir)$(target_prefix)
ARCHHDRDIR    = $(sitearchhdrdir)$(target_prefix)
TARGET_SO_DIR =
TARGET_SO     = $(TARGET_SO_DIR)$(DLLIB)
CLEANLIBS     = $(TARGET_SO) $(TARGET_SO).dSYM
CLEANOBJS     = $(OBJS) *.bak
TARGET_SO_DIR_TIMESTAMP = $(TIMESTAMP_DIR)/.sitearchdir.-.numo.time

all:    $(DLLIB)
static: $(STATIC_LIB)
.PHONY: all install static install-so install-rb
.PHONY: clean clean-so clean-static clean-rb

clean-static::
clean-rb-default::
clean-rb::
clean-so::
clean: clean-so clean-static clean-rb-default clean-rb
		-$(Q)$(RM_RF) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time

distclean-rb-default::
distclean-rb::
distclean-so::
distclean-static::
distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
		-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
		-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
		-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true

realclean: distclean
install: install-so install-rb

install-so: $(DLLIB) $(TARGET_SO_DIR_TIMESTAMP)
	$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
clean-static::
	-$(Q)$(RM) $(STATIC_LIB)
install-rb: pre-install-rb do-install-rb install-rb-default
install-rb-default: pre-install-rb-default do-install-rb-default
pre-install-rb: Makefile
pre-install-rb-default: Makefile
do-install-rb:
do-install-rb-default:
pre-install-rb-default:
	@$(NULLCMD)
pre-install-rb: $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
do-install-rb: $(RUBYARCHDIR)/numo/compat.h
$(RUBYARCHDIR)/numo/compat.h: $(srcdir)/numo/compat.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/compat.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/intern.h
$(RUBYARCHDIR)/numo/intern.h: $(srcdir)/numo/intern.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/intern.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/narray.h
$(RUBYARCHDIR)/numo/narray.h: $(srcdir)/numo/narray.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/narray.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/ndloop.h
$(RUBYARCHDIR)/numo/ndloop.h: $(srcdir)/numo/ndloop.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/ndloop.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/template.h
$(RUBYARCHDIR)/numo/template.h: $(srcdir)/numo/template.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/template.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/extconf.h
$(RUBYARCHDIR)/numo/extconf.h: $(srcdir)/numo/extconf.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/extconf.h $(@D)
pre-install-rb: $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
do-install-rb: $(RUBYARCHDIR)/numo/types/bit.h
$(RUBYARCHDIR)/numo/types/bit.h: $(srcdir)/numo/types/bit.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/bit.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/complex.h
$(RUBYARCHDIR)/numo/types/complex.h: $(srcdir)/numo/types/complex.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/complex.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/complex_macro.h
$(RUBYARCHDIR)/numo/types/complex_macro.h: $(srcdir)/numo/types/complex_macro.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/complex_macro.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/dcomplex.h
$(RUBYARCHDIR)/numo/types/dcomplex.h: $(srcdir)/numo/types/dcomplex.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/dcomplex.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/dfloat.h
$(RUBYARCHDIR)/numo/types/dfloat.h: $(srcdir)/numo/types/dfloat.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/dfloat.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/float_def.h
$(RUBYARCHDIR)/numo/types/float_def.h: $(srcdir)/numo/types/float_def.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/float_def.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/float_macro.h
$(RUBYARCHDIR)/numo/types/float_macro.h: $(srcdir)/numo/types/float_macro.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/float_macro.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/int16.h
$(RUBYARCHDIR)/numo/types/int16.h: $(srcdir)/numo/types/int16.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/int16.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/int32.h
$(RUBYARCHDIR)/numo/types/int32.h: $(srcdir)/numo/types/int32.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/int32.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/int64.h
$(RUBYARCHDIR)/numo/types/int64.h: $(srcdir)/numo/types/int64.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/int64.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/int8.h
$(RUBYARCHDIR)/numo/types/int8.h: $(srcdir)/numo/types/int8.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/int8.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/int_macro.h
$(RUBYARCHDIR)/numo/types/int_macro.h: $(srcdir)/numo/types/int_macro.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/int_macro.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/real_accum.h
$(RUBYARCHDIR)/numo/types/real_accum.h: $(srcdir)/numo/types/real_accum.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/real_accum.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/robj_macro.h
$(RUBYARCHDIR)/numo/types/robj_macro.h: $(srcdir)/numo/types/robj_macro.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/robj_macro.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/robject.h
$(RUBYARCHDIR)/numo/types/robject.h: $(srcdir)/numo/types/robject.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/robject.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/scomplex.h
$(RUBYARCHDIR)/numo/types/scomplex.h: $(srcdir)/numo/types/scomplex.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/scomplex.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/sfloat.h
$(RUBYARCHDIR)/numo/types/sfloat.h: $(srcdir)/numo/types/sfloat.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/sfloat.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/uint16.h
$(RUBYARCHDIR)/numo/types/uint16.h: $(srcdir)/numo/types/uint16.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/uint16.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/uint32.h
$(RUBYARCHDIR)/numo/types/uint32.h: $(srcdir)/numo/types/uint32.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/uint32.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/uint64.h
$(RUBYARCHDIR)/numo/types/uint64.h: $(srcdir)/numo/types/uint64.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/uint64.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/uint8.h
$(RUBYARCHDIR)/numo/types/uint8.h: $(srcdir)/numo/types/uint8.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/uint8.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/uint_macro.h
$(RUBYARCHDIR)/numo/types/uint_macro.h: $(srcdir)/numo/types/uint_macro.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/uint_macro.h $(@D)
do-install-rb: $(RUBYARCHDIR)/numo/types/xint_macro.h
$(RUBYARCHDIR)/numo/types/xint_macro.h: $(srcdir)/numo/types/xint_macro.h $(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time
	$(Q) $(INSTALL_DATA) $(srcdir)/numo/types/xint_macro.h $(@D)
pre-install-rb:
	$(Q1:0=@$(MAKE) -q do-install-rb || )$(ECHO1:0=echo) installing narray libraries
$(TARGET_SO_DIR_TIMESTAMP):
	$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
	$(Q) $(TOUCH) $@
$(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.time:
	$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)/numo
	$(Q) $(TOUCH) $@
$(TIMESTAMP_DIR)/.sitearchdir.-.numo.-.numo.-.types.time:
	$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)/numo/types
	$(Q) $(TOUCH) $@

site-install: site-install-so site-install-rb
site-install-so: install-so
site-install-rb: install-rb

.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S

.cc.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<

.cc.S:
	$(ECHO) translating $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<

.mm.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<

.mm.S:
	$(ECHO) translating $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<

.cxx.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<

.cxx.S:
	$(ECHO) translating $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<

.cpp.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<

.cpp.S:
	$(ECHO) translating $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<

.c.o:
	$(ECHO) compiling $(<)
	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<

.c.S:
	$(ECHO) translating $(<)
	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<

.m.o:
	$(ECHO) compiling $(<)
	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<

.m.S:
	$(ECHO) translating $(<)
	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<

$(TARGET_SO): $(OBJS) Makefile
	$(ECHO) linking shared-object numo/$(DLLIB)
	-$(Q)$(RM) $(@)
	$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
	$(Q) $(POSTLINK)



###
$(OBJS): $(RUBY_EXTCONF_H)

TAGSRC = \
 numo/types/*.h \
 *.c

tags : TAGS
TAGS : $(TAGSRC)
	etags $(TAGSRC)

doc :
	yard doc *.c

C_TMPL = /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/accum.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/accum_arg.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/accum_binary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/accum_index.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/alloc_func.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/allocate.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/aref.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/aset.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/binary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/binary2.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/binary_s.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/bincount.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/cast.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/cast_array.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/class.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/clip.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/coerce_cast.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/cond_binary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/cond_unary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/cum.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/each.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/each_with_index.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/ewcomp.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/extract.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/extract_data.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/eye.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/fill.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/format.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/format_to_a.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/frexp.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/init_class.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/init_module.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/inspect.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/lib.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/logseq.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/map_with_index.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/median.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/minmax.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/module.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/new_dim0.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/poly.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/pow.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/powint.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/qsort.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/rand.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/rand_norm.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/seq.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/set2.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/sort.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/sort_index.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/store.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/store_array.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/store_bit.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/store_from.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/store_numeric.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/to_a.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/unary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/unary2.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/unary_ret2.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl/unary_s.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/allocate.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/aref.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/aset.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/binary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/bit_count.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/bit_reduce.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/each.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/each_with_index.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/extract.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/fill.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/format.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/format_to_a.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/inspect.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/mask.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/none_p.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/store_array.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/store_bit.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/store_from.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/to_a.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/unary.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/where.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/tmpl_bit/where2.c

COGEN = /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb
DEPENDS = $(C_TMPL) /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/*.rb


t_bit.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/bit.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/bit.rb

t_dcomplex.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/dcomplex.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/dcomplex.rb

t_dfloat.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/dfloat.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/dfloat.rb

t_int16.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int16.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int16.rb

t_int32.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int32.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int32.rb

t_int64.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int64.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int64.rb

t_int8.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int8.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/int8.rb

t_robject.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/robject.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/robject.rb

t_scomplex.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/scomplex.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/scomplex.rb

t_sfloat.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/sfloat.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/sfloat.rb

t_uint16.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint16.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint16.rb

t_uint32.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint32.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint32.rb

t_uint64.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint64.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint64.rb

t_uint8.c: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint8.rb $(DEPENDS)
	ruby $(COGEN) -l -o $@ /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/uint8.rb


src : t_bit.c t_dcomplex.c t_dfloat.c t_int16.c t_int32.c t_int64.c t_int8.c t_robject.c t_scomplex.c t_sfloat.c t_uint16.c t_uint32.c t_uint64.c t_uint8.c

CLEANOBJS = *.o t_*.c *.bak
DISTCLEANFILES = depend TAGS

And it fails:

Executing:  cd "/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/numo-narray-0.9.2.1" && /opt/local/bin/gem3.2 install --local --force --install-dir /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0 /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/numo-narray-0.9.2.1/numo-narray.gem 
Building native extensions. This could take a while...
ERROR:  Error installing /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/numo-narray-0.9.2.1/numo-narray.gem:
	ERROR: Failed to build gem native extension.

    current directory: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray
/opt/local/bin/ruby3.2 extconf.rb
checking for stdbool.h... yes
checking for stdint.h... yes
checking for bool in stdbool.h... yes
checking for u_int8_t in stdint.h... yes
checking for u_int16_t in stdint.h... yes
checking for int32_t in stdint.h... yes
checking for u_int32_t in stdint.h... yes
checking for int64_t in stdint.h... yes
checking for u_int64_t in stdint.h... yes
checking for exp10()... no
checking for rb_arithmetic_sequence_extract()... yes
checking for rb_cComplex... yes
creating /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/numo/extconf.h
creating Makefile

current directory: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray
make DESTDIR\= sitearchdir\=./.gem.20240619-85023-wzktxm sitelibdir\=./.gem.20240619-85023-wzktxm clean

current directory: /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray
make DESTDIR\= sitearchdir\=./.gem.20240619-85023-wzktxm sitelibdir\=./.gem.20240619-85023-wzktxm
compiling narray.c
compiling array.c
compiling step.c
compiling index.c
compiling ndloop.c
compiling data.c
ruby /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb -l -o t_bit.c /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/def/bit.rb
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:45: syntax error, unexpected ':', expecting kEND
  set line_number: $line_number
                  ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:46: syntax error, unexpected ':', expecting kEND
  set erb_dir: erb_dir
              ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:47: syntax error, unexpected ':', expecting kEND
  set erb_suffix: ".c"
                 ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:48: syntax error, unexpected ':', expecting kEND
  set ns_var: "mNumo"
             ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:50: syntax error, unexpected ':', expecting kEND
  set file_name: $output||""
                ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:51: syntax error, unexpected ':', expecting kEND
  set include_files: ["numo/types/#{type_name}.h"]
                    ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:52: syntax error, unexpected ':', expecting kEND
  set lib_name: "numo_"+type_name
               ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:55: syntax error, unexpected ':', expecting kEND
    set is_simd: true
                ^
/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1/ext/numo/narray/gen/cogen.rb:57: syntax error, unexpected ':', expecting kEND
    set is_simd: false
                ^
make: *** [t_bit.c] Error 1

make failed, exit code 2

Gem files will remain installed in /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/gems/numo-narray-0.9.2.1 for inspection.
Results logged to /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0/extensions/x86_64-darwin-12/3.2.0/numo-narray-0.9.2.1/gem_make.out
Command failed:  cd "/opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/numo-narray-0.9.2.1" && /opt/local/bin/gem3.2 install --local --force --install-dir /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/destroot/opt/local/lib/ruby3.2/gems/3.2.0 /opt/local/var/macports/build/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/work/numo-narray-0.9.2.1/numo-narray.gem 
Exit code: 1
Error: Failed to destroot rb32-numo-narray: command execution failed
Error: See /opt/local/var/macports/logs/_opt_MountainLionPorts_ruby_rb-numo-narray/rb32-numo-narray/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port rb32-numo-narray failed

@barracuda156
Copy link
Author

UPD2. Ah, perhaps here it should be fixed too: ext/numo/narray/depend

@barracuda156
Copy link
Author

Bingo, the bug is here:

ruby $(COGEN) -l -o $@ <%=s%>

@barracuda156
Copy link
Author

I can confirm that after patching in the right Ruby, this builds both on x86_64 and PowerPC.

@barracuda156
Copy link
Author

@jneen Is there some way to inform the build which specific Ruby to use? We have fixed numo-narray, but then other numo-* packages fail to build, and it is pretty troublesome to patch every one of them.

@barracuda156 barracuda156 changed the title [macOS] Build error: cogen.rb: syntax error, unexpected ':', expecting kEND [macOS] Build does not respect env settings and picks an arbitrary Ruby from system prefix which is prone to failure Jun 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants