Created attachment 863988 [details] build log Description of problem: I need to get ruby 2.0.0 353 recompiled on centos 6 I took the src.rpm from rawhide. the version 2.0.0.353-17 gets compiled well but when reaches the %files part in ruby-libs then it fails whith file not found Version-Release number of selected component (if applicable): 2.0.0-353-17 How reproducible: Steps to Reproduce: 1. recompile ruby-2.0.0.353-17.fc21.src.rpm on centos 6 2. 3. Actual results: DEBUG: Finished tests in 402.601721s, 30.2011 tests/s, 6339.7171 assertions/s. DEBUG: 1) Skipped: DEBUG: test_s_open_no_create(TestGDBM) [/builddir/build/BUILD/ruby-2.0.0-p353/test/gdbm/test_gdbm.rb:121]: DEBUG: gdbm_open(GDBM_WRITER) is broken on libgdbm 1.8.0 DEBUG: 2) Skipped: DEBUG: test_writer_open_notexist(TestGDBM2) [/builddir/build/BUILD/ruby-2.0.0-p353/test/gdbm/test_gdbm.rb:689]: DEBUG: gdbm_open(GDBM_WRITER) is broken on libgdbm 1.8.0 DEBUG: 3) Skipped: DEBUG: test_capture_subprocess_io(TestMiniTestUnitTestCase) [/builddir/build/BUILD/ruby-2.0.0-p353/test/minitest/test_minitest_unit.rb:1339]: DEBUG: Dunno why but the parallel run of this fails DEBUG: 4) Skipped: DEBUG: test_completion_encoding(TestReadline) [/builddir/build/BUILD/ruby-2.0.0-p353/test/readline/test_readline.rb:294]: DEBUG: missing test for locale US-ASCII DEBUG: 5) Skipped: DEBUG: test_input_metachar_multibyte(TestReadline) [/builddir/build/BUILD/ruby-2.0.0-p353/test/readline/test_readline.rb:420]: DEBUG: this test needs UTF-8 locale DEBUG: 12159 tests, 2552381 assertions, 0 failures, 0 errors, 33 skips DEBUG: ruby -v: ruby 2.0.0p353 (2013-11-22) [x86_64-linux] DEBUG: check succeeded DEBUG: + exit 0 DEBUG: Processing files: ruby-2.0.0.353-17.el6.x86_64 DEBUG: Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.Lo7AvF DEBUG: + umask 022 DEBUG: + cd /builddir/build/BUILD DEBUG: + cd ruby-2.0.0-p353 DEBUG: + DOCDIR=/builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + export DOCDIR DEBUG: + rm -rf /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + /bin/mkdir -p /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + cp -pr COPYING /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + cp -pr COPYING.ja /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + cp -pr GPL /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + cp -pr LEGAL /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-2.0.0.353 DEBUG: + exit 0 DEBUG: Provides: ruby(runtime_executable) = 2.0.0 DEBUG: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 DEBUG: Requires: /usr/bin/ruby libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libcrypt.so.1()(64bit) libdl.so.2()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libruby.so.2.0()(64bit) rtld(GNU_HASH) DEBUG: Processing files: ruby-devel-2.0.0.353-17.el6.x86_64 DEBUG: Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.9hTc9g DEBUG: + umask 022 DEBUG: + cd /builddir/build/BUILD DEBUG: + cd ruby-2.0.0-p353 DEBUG: + DOCDIR=/builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + export DOCDIR DEBUG: + rm -rf /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + /bin/mkdir -p /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + cp -pr COPYING COPYING.ja /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + cp -pr GPL /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + cp -pr LEGAL /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + cp -pr README.EXT /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + cp -pr README.EXT.ja /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-devel-2.0.0.353 DEBUG: + exit 0 DEBUG: Provides: pkgconfig(ruby) = 2.0.0 DEBUG: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 DEBUG: Requires: /usr/bin/pkg-config libruby.so.2.0()(64bit) DEBUG: Processing files: ruby-libs-2.0.0.353-17.el6.x86_64 DEBUG: error: File not found: /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/ruby/gems DEBUG: Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.lUeEfT DEBUG: + umask 022 DEBUG: + cd /builddir/build/BUILD DEBUG: + cd ruby-2.0.0-p353 DEBUG: + DOCDIR=/builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + export DOCDIR DEBUG: + rm -rf /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + /bin/mkdir -p /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr COPYING /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr COPYING.ja /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr GPL /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr LEGAL /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr README /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr README.ja /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr NEWS /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + cp -pr doc/NEWS-1.8.7 doc/NEWS-1.9.1 doc/NEWS-1.9.2 doc/NEWS-1.9.3 /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/doc/ruby-libs-2.0.0.353 DEBUG: + exit 0 DEBUG: RPM build errors: DEBUG: File not found: /builddir/build/BUILDROOT/ruby-2.0.0.353-17.el6.x86_64/usr/share/ruby/gems DEBUG: Child return code was: 1 INFO: EXCEPTION: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/ruby.spec'] Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/mockbuild/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/lib/python2.6/site-packages/mockbuild/util.py", line 352, in do raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/ruby.spec'] INFO: LEAVE do --> EXCEPTION RAISED DEBUG: Executing command: ['/bin/umount', '-n', '/var/lib/mock/epel-6-x86_64/root/tmp/ccache'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} DEBUG: Child return code was: 0 DEBUG: Executing command: ['/bin/umount', '-n', '/var/lib/mock/epel-6-x86_64/root/var/cache/yum'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} DEBUG: Child return code was: 0 DEBUG: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/epel-6-x86_64/root/dev/pts'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} DEBUG: Child return code was: 0 DEBUG: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/epel-6-x86_64/root/dev/shm'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} DEBUG: Child return code was: 0 DEBUG: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/epel-6-x86_64/root/sys'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} DEBUG: Child return code was: 0 DEBUG: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/epel-6-x86_64/root/proc'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} DEBUG: Child return code was: 0 ERROR: Exception(ruby-2.0.0.353-17.fc21.src.rpm) Config(epel-6-x86_64) 12 minutes 45 seconds INFO: Results and/or logs in: /var/lib/mock/epel-6-x86_64/result ERROR: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/ruby.spec'] Expected results: rpm should build well Additional info: Problem also reproduced building without using mock
Also reproduceable with RHEL 6
Hi, are you aware of the fact that new coming rhel-7 is based off Fedora 19? Do you really expect that Fedora Rawhide (f21) SRPMS can be built against rhel-6 (or CentOS 6 for that matter)? Well, they usually can't because of different versions of the software in the base distribution. If I try to build Ruby against rhel-6 I will first get to the dependency issues, not the error you are mentioning here, right? So this is something we can't really support in Fedora. If you wish to fix it for CentOS and maintain it, please look at Fedora EPEL[1]. If you have a patch that would be acceptable to have also in Fedora itself, please propose. [1] https://fedoraproject.org/wiki/EPEL
In RHEL6, there is older RPM, which has hard times to handle "%exclude %{ruby_libdir}/gems" when the underlaying directory does not exists. When you remove this line, the build should succeed. We should drop this line from Fedora's spec, since it has no meaning. I'll commit check all Fedora branches when I'll get some free cycles.
Sorry ... s/commit//
(In reply to Josef Stribny from comment #2) > Hi, > > are you aware of the fact that new coming rhel-7 is based off Fedora 19? Do > you really expect that Fedora Rawhide (f21) SRPMS can be built against > rhel-6 (or CentOS 6 for that matter)? > > Well, they usually can't because of different versions of the software in > the base distribution. If I try to build Ruby against rhel-6 I will first > get to the dependency issues, not the error you are mentioning here, right? > > So this is something we can't really support in Fedora. If you wish to fix > it for CentOS and maintain it, please look at Fedora EPEL[1]. If you have a > patch that would be acceptable to have also in Fedora itself, please propose. > > > [1] https://fedoraproject.org/wiki/EPEL Yes you are right there are dependencies to resolve but i succeed to resolve them. And you are also right that maybe it was not correct to report it on Fedora I was not sure how to report that.
(In reply to Vít Ondruch from comment #3) > In RHEL6, there is older RPM, which has hard times to handle "%exclude > %{ruby_libdir}/gems" when the underlaying directory does not exists. When > you remove this line, the build should succeed. We should drop this line > from Fedora's spec, since it has no meaning. I'll commit check all Fedora > branches when I'll get some free cycles. Thank you very much that worked well. I was now able to compile. I had only to resolve dependency libdb-devel which I found in an alternative repo. Many thanks
I pushed the change into F19+. Since it has no impact on resulting package, I'm not going to rebuild ATM.
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22
This is fixed in all supported releases by: http://pkgs.fedoraproject.org/cgit/ruby.git/commit/?id=eab15b0506ea7c7512a071fcd00df38849120e17