Project

General

Profile

Bug #16331

Updated by meta@vmeta.jp (Koichiro Iwao) over 4 years ago

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 
 ```

Back