From: naruse@... Date: 2020-03-13T12:27:30+00:00 Subject: [ruby-core:97472] [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). Backport changed from 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED to 2.5: REQUIRED, 2.6: REQUIRED, 2.7: DONE ruby_2_7 a930174d798b58ee10493bf192d277ffe08518a7. ---------------------------------------- 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-84619 * Author: meta@vmeta.jp (Koichiro Iwao) * Status: Closed * Priority: Normal * ruby -v: 2.6.5 * Backport: 2.5: REQUIRED, 2.6: REQUIRED, 2.7: DONE ---------------------------------------- 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) buildtest-with-bmake-and-j-option.log (202 KB) buildtest-with-bmake-and-j-option.log (101 KB) buildtest-with-gmake-and-j-option.log (220 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: