[DRE-maint] Bug#897664: ruby-rjb: FTBFS: make[2]: javah: Command not found

Chris Lamb lamby at debian.org
Fri May 4 00:05:43 BST 2018


Source: ruby-rjb
Version: 1.5.5-2
Severity: serious
Justification: fails to build from source
User: reproducible-builds at lists.alioth.debian.org
Usertags: ftbfs
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Dear Maintainer,

ruby-rjb fails to build from source in unstable/amd64:

  […]

   dpkg-buildpackage -rfakeroot -us -uc -ui -b
  dpkg-buildpackage: info: source package ruby-rjb
  dpkg-buildpackage: info: source version 1.5.5-2
  dpkg-buildpackage: info: source distribution unstable
  dpkg-buildpackage: info: source changed by Chris Lamb <lamby at debian.org>
   dpkg-source --before-build ruby-rjb-1.5.5
  dpkg-buildpackage: info: host architecture amd64
   fakeroot debian/rules clean
  dh clean --buildsystem=ruby --with ruby
     dh_auto_clean -O--buildsystem=ruby
  	dh_ruby --clean
     dh_ruby --clean
     debian/rules override_dh_clean
  make[1]: Entering directory '«BUILDDIR»'
  dh_clean -O--buildsystem=ruby
  rm -rf test/jp test/jartest test/jartest2
  rm -f rjb-global.rake rjb.gemspec
  make[1]: Leaving directory '«BUILDDIR»'
   debian/rules build
  dh build --buildsystem=ruby --with ruby
     dh_update_autotools_config -O--buildsystem=ruby
     dh_autoreconf -O--buildsystem=ruby
     dh_auto_configure -O--buildsystem=ruby
  	dh_ruby --configure
     debian/rules override_dh_auto_build
  make[1]: Entering directory '«BUILDDIR»'
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/Test.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/Test.java
  Note: test/Test.java uses or overrides a deprecated API.
  Note: Recompile with -Xlint:deprecation for details.
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/IBase.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/IBase.java
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/Base.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/Base.java
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/ExtBase.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/ExtBase.java
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/Two.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/Two.java
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/TwoCaller.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/TwoCaller.java
  mkdir -p $(dirname test/jp/co/infoseek/hp/arton/rjb/CallbackTest.class)
  LC_ALL=C.UTF-8 javac -classpath test -d test test/CallbackTest.java
  mkdir -p test/jartest
  LC_ALL=C.UTF-8 javac -d test/jartest test/JarTest.java
  jar -cvf test/jartest.jar -C test/jartest jp/co/infoseek/hp/arton/rjb/JarTest.class
  added manifest
  adding: jp/co/infoseek/hp/arton/rjb/JarTest.class(in = 734) (out= 414)(deflated 43%)
  mkdir -p test/jartest2
  LC_ALL=C.UTF-8 javac -classpath test/jartest -d test/jartest2 test/JarTest2.java
  jar -cvf test/jartest2.jar -C test/jartest2 jp/co/infoseek/hp/arton/rjb/JarTest2.class
  added manifest
  adding: jp/co/infoseek/hp/arton/rjb/JarTest2.class(in = 818) (out= 439)(deflated 46%)
  dh_auto_build -O--buildsystem=ruby
  	dh_ruby --build
     dh_ruby --build
  make[1]: Leaving directory '«BUILDDIR»'
     dh_auto_test -O--buildsystem=ruby
  	dh_ruby --test
     create-stamp debian/debhelper-build-stamp
   fakeroot debian/rules binary
  dh binary --buildsystem=ruby --with ruby
     dh_testroot -O--buildsystem=ruby
     dh_prep -O--buildsystem=ruby
     debian/rules override_dh_auto_install
  make[1]: Entering directory '«BUILDDIR»'
  sed -e '$i $spec = spec' rjb.rake > rjb-global.rake
  ruby -e 'load "rjb-global.rake"; File.open("rjb.gemspec", "w") { |f| f.write $spec.to_ruby };'
  LC_ALL=C.UTF-8 dh_auto_install -O--buildsystem=ruby
  	dh_ruby --install «BUILDDIR»/debian/ruby-rjb
     dh_ruby --install
  
  ┌──────────────────────────────────────────────────────────────────────────────┐
  │ Install files                                                                │
  └──────────────────────────────────────────────────────────────────────────────┘
  
  install -d «BUILDDIR»/debian/ruby-rjb/usr/lib/ruby/vendor_ruby
  install -D -m644 «BUILDDIR»/lib/rjbextension.rb /home/lamby/temp/cdt.20180503160321.dQzXzHsOjv.db.ruby-rjb/ruby-rjb-1.5.5/debian/ruby-rjb/usr/lib/ruby/vendor_ruby/rjbextension.rb
  install -D -m644 «BUILDDIR»/lib/rjb.rb /home/lamby/temp/cdt.20180503160321.dQzXzHsOjv.db.ruby-rjb/ruby-rjb-1.5.5/debian/ruby-rjb/usr/lib/ruby/vendor_ruby/rjb.rb
  install -D -m644 «BUILDDIR»/lib/rjb/extension.rb /home/lamby/temp/cdt.20180503160321.dQzXzHsOjv.db.ruby-rjb/ruby-rjb-1.5.5/debian/ruby-rjb/usr/lib/ruby/vendor_ruby/rjb/extension.rb
  install -D -m644 «BUILDDIR»/lib/rjb/version.rb /home/lamby/temp/cdt.20180503160321.dQzXzHsOjv.db.ruby-rjb/ruby-rjb-1.5.5/debian/ruby-rjb/usr/lib/ruby/vendor_ruby/rjb/version.rb
  install -D -m644 «BUILDDIR»/lib/rjb/list.rb /home/lamby/temp/cdt.20180503160321.dQzXzHsOjv.db.ruby-rjb/ruby-rjb-1.5.5/debian/ruby-rjb/usr/lib/ruby/vendor_ruby/rjb/list.rb
  
  ┌──────────────────────────────────────────────────────────────────────────────┐
  │ Build native extensions for ruby2.5                                          │
  └──────────────────────────────────────────────────────────────────────────────┘
  
  /usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb «BUILDDIR» debian/ruby-rjb
  current directory: «BUILDDIR»/ext
  /usr/bin/ruby2.5 -r ./siteconf20180503-6808-u7m0m0.rb extconf.rb
  checking for jni.h... yes
  checking for locale_charset() in iconv.h... no
  checking for nl_langinfo() in langinfo.h... yes
  checking for setlocale() in locale.h... yes
  checking for getenv()... yes
  creating extconf.h
  creating Makefile
  current directory: «BUILDDIR»/ext
  make V=1 "DESTDIR=" clean
  make[2]: Entering directory '«BUILDDIR»/ext'
  rm -f 
  rm -f rjbcore.so  *.o  *.bak mkmf.log .*.time
  make[2]: Leaving directory '«BUILDDIR»/ext'
  current directory: «BUILDDIR»/ext
  make V=1 "DESTDIR="
  make[2]: Entering directory '«BUILDDIR»/ext'
  mkdir -p ../data/rjb/jp/co/infoseek/hp/arton/rjb
  javac -d ../data/rjb RBridge.java
  javah -classpath ../data/rjb jp.co.infoseek.hp.arton.rjb.RBridge
  make[2]: javah: Command not found
  make[2]: *** [Makefile:272: jp_co_infoseek_hp_arton_rjb_RBridge.h] Error 127
  make[2]: Leaving directory '«BUILDDIR»/ext'
  ~~~~~~~~~~~~~~~~~~~~~ ↓ mkmf.log ~~~~~~~~~~~~~~~~~~~~~
  have_header: checking for jni.h... -------------------- yes
  
  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
  checked program was:
  /* begin */
  1: #include "ruby.h"
  2: 
  3: int main(int argc, char **argv)
  4: {
  5:   return 0;
  6: }
  /* end */
  
  "gcc -E -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux"  conftest.c -o conftest.i"
  checked program was:
  /* begin */
  1: #include "ruby.h"
  2: 
  3: #include <jni.h>
  /* end */
  
  --------------------
  
  have_func: checking for locale_charset() in iconv.h... -------------------- no
  
  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
  conftest.c: In function ‘t’:
  conftest.c:15:57: error: ‘locale_charset’ undeclared (first use in this function); did you mean ‘locale_t’?
   int t(void) { void ((*volatile p)()); p = (void ((*)()))locale_charset; return !p; }
                                                           ^~~~~~~~~~~~~~
                                                           locale_t
  conftest.c:15:57: note: each undeclared identifier is reported only once for each function it appears in
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: #include <iconv.h>
   4: 
   5: /*top*/
   6: extern int t(void);
   7: int main(int argc, char **argv)
   8: {
   9:   if (argc > 1000000) {
  10:     printf("%p", &t);
  11:   }
  12: 
  13:   return 0;
  14: }
  15: int t(void) { void ((*volatile p)()); p = (void ((*)()))locale_charset; return !p; }
  /* end */
  
  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
  /tmp/ccHTEy7h.o: In function `t':
  «BUILDDIR»/ext/conftest.c:16: undefined reference to `locale_charset'
  collect2: error: ld returned 1 exit status
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: #include <iconv.h>
   4: 
   5: /*top*/
   6: extern int t(void);
   7: int main(int argc, char **argv)
   8: {
   9:   if (argc > 1000000) {
  10:     printf("%p", &t);
  11:   }
  12: 
  13:   return 0;
  14: }
  15: extern void locale_charset();
  16: int t(void) { locale_charset(); return 0; }
  /* end */
  
  --------------------
  
  have_func: checking for nl_langinfo() in langinfo.h... -------------------- yes
  
  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: #include <langinfo.h>
   4: 
   5: /*top*/
   6: extern int t(void);
   7: int main(int argc, char **argv)
   8: {
   9:   if (argc > 1000000) {
  10:     printf("%p", &t);
  11:   }
  12: 
  13:   return 0;
  14: }
  15: int t(void) { void ((*volatile p)()); p = (void ((*)()))nl_langinfo; return !p; }
  /* end */
  
  --------------------
  
  have_func: checking for setlocale() in locale.h... -------------------- yes
  
  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: #include <locale.h>
   4: 
   5: /*top*/
   6: extern int t(void);
   7: int main(int argc, char **argv)
   8: {
   9:   if (argc > 1000000) {
  10:     printf("%p", &t);
  11:   }
  12: 
  13:   return 0;
  14: }
  15: int t(void) { void ((*volatile p)()); p = (void ((*)()))setlocale; return !p; }
  /* end */
  
  --------------------
  
  have_func: checking for getenv()... -------------------- yes
  
  "gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/build/ruby2.5-2HhZKW/ruby2.5-2.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby-2.5  -lpthread -lgmp -ldl -lcrypt -lm   -lc"
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: /*top*/
   4: extern int t(void);
   5: int main(int argc, char **argv)
   6: {
   7:   if (argc > 1000000) {
   8:     printf("%p", &t);
   9:   }
  10: 
  11:   return 0;
  12: }
  13: int t(void) { void ((*volatile p)()); p = (void ((*)()))getenv; return !p; }
  /* end */
  
  --------------------
  
  extconf.h is:
  /* begin */
  1: #ifndef EXTCONF_H
  2: #define EXTCONF_H
  3: #define HAVE_JNI_H 1
  4: #define HAVE_NL_LANGINFO 1
  5: #define HAVE_SETLOCALE 1
  6: #define HAVE_GETENV 1
  7: #define RJB_RUBY_VERSION_CODE 251
  8: #endif
  /* end */
  
  /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:92:in `run': make failed, exit code 2 (Gem::InstallError)
  	from /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:52:in `block in make'
  	from /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:44:in `each'
  	from /usr/lib/ruby/2.5.0/rubygems/ext/builder.rb:44:in `make'
  	from /usr/lib/ruby/2.5.0/rubygems/ext/ext_conf_builder.rb:61:in `block in build'
  	from /usr/lib/ruby/2.5.0/tempfile.rb:295:in `open'
  	from /usr/lib/ruby/2.5.0/rubygems/ext/ext_conf_builder.rb:30:in `build'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:76:in `block in build_and_install'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:70:in `chdir'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:70:in `build_and_install'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:108:in `block in build_all_extensions'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:105:in `each'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:105:in `build_all_extensions'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:121:in `<main>'
  ~~~~~~~~~~~~~~~~~~~~~ ↑ mkmf.log ~~~~~~~~~~~~~~~~~~~~~
  /usr/lib/ruby/vendor_ruby/gem2deb.rb:56:in `run': /usr/bin/ruby2.5 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb «BUILDDIR» debian/ruby-rjb (Gem2Deb::CommandFailed)
  	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:67:in `run_ruby'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:37:in `block in install_files_and_build_extensions'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:34:in `each'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:34:in `install_files_and_build_extensions'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:84:in `block in install'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:82:in `each'
  	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:82:in `install'
  	from /usr/bin/dh_ruby:94:in `<main>'
  dh_auto_install: dh_ruby --install «BUILDDIR»/debian/ruby-rjb returned exit code 1
  make[1]: *** [debian/rules:43: override_dh_auto_install] Error 1
  make[1]: Leaving directory '«BUILDDIR»'
  make: *** [debian/rules:8: binary] Error 2
  dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2

  […]

The full build log is attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ruby-rjb.1.5.5-2.unstable.amd64.log.txt.gz
Type: application/octet-stream
Size: 15760 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20180504/9d167e40/attachment-0001.obj>


More information about the Pkg-ruby-extras-maintainers mailing list