From: meta@... Date: 2019-11-08T08:37:53+00:00 Subject: [ruby-core:95755] [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 meta@vmeta.jp (Koichiro Iwao). Subject changed from fails to build with BSD make possibly due to race condition to fails to build with BSD make when any -j option is given (including -j 1) 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 ��������������������������������������������� ---------------------------------------- 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-82572 * 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 (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: