From: naruse@... Date: 2019-11-09T10:14:02+00:00 Subject: [ruby-core:95770] [Ruby master Bug#16331] fails to build with BSD make when any -j option is given (including -j 1) Issue #16331 has been updated by naruse (Yui NARUSE). meta@vmeta.jp (Koichiro Iwao) wrote: > Now it turned out the build fails even `-j 1` is specified. Any value to `-j` option will fail. > Not giving `-j` option goes fine. > > Further information from Yuichiro NAITO: > > ������������������������������������������������������������������������ > > -j ������������ shell ������������������������������������������������������������������ > > ���������������������������������1��������� shell ������������������������ make ��������������������������� > > BSD make ��� -j ��������������������������������������������������������������������������������������� shell ��������������������������������� > > ��������������������������� exec ������������������������������������������������������������������������������ > > Ruby ��� Makefile ������������������������������������ exec ������������������ > > ��������� fork(2) ������������������������������������������������������������������ > > > > ������������������ BSD make ��������������������������������������������� It sounds Ruby hits the issue described in `make -B`: https://www.freebsd.org/cgi/man.cgi?query=make&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html ---------------------------------------- Bug #16331: fails to build with BSD make when any -j option is given (including -j 1) https://bugs.ruby-lang.org/issues/16331#change-82585 * Author: meta@vmeta.jp (Koichiro Iwao) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 2.6.5 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- When building Ruby parallely with BSD make (FreeBSD make), it fails to build. Reported by FreeBSD Ruby folks. Please keep in mind I didn't find out the root cause. OS: FreeBSD 12-STABLE See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241633 ## How to reproduce ``` tar xf ruby-2.6.5.tar.gz cd ruby-2.6.5 ./configure --enable-shared --disable-readline --disable-libedit make -j 8 # any value will cause build failure (snip) configuring -test-/st/numhash configuring -test-/st/update --- enc --- ld: error: unable to find library -lruby cc: error: linker command failed with exit code 1 (use -v to see invocation) --- exts.mk --- configuring -test-/string configuring -test-/struct configuring -test-/symbol --- enc --- *** [.ext/x86_64-freebsd12.1/enc/encdb.so] Error code 1 ``` ## BSD make without -j option: success ``` cd ruby-2.6.5 make distclean ./configure --enable-shared --disable-readline --disable-libedit make `ruby' is up to date. *** Following extensions are not compiled: readline: Could not be configured. It will not be installed. /home/sair/tmp/ruby-2.6.5/ext/readline/extconf.rb:52: readline not found Check ext/readline/mkmf.log for more details. gdbm: Could not be configured. It will not be installed. Check ext/gdbm/mkmf.log for more details. *** Fix the problems, then remove these directories and try again if you want. making enc making trans `trans' is up to date. making encs Generating RDoc documentation ``` ## Using GNU make: success ``` cd ruby-2.6.5 export MAKE=gmake # GNU make make distclean ./configure --enable-shared --disable-readline --disable-libedit $MAKE -j 8 ``` ---Files-------------------------------- ruby-bsdmake.log (13.9 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: