Backport #7550

Can't rebuild 1.9.3-p327 because of missing resize.so

Added by Victor Engmark over 1 year ago. Updated over 1 year ago.

[ruby-core:50819]
Status:Closed
Priority:Normal
Assignee:Nobuyoshi Nakada

Description

=begin
As (()), Ruby compiles fine the first time after extracting, but repeating it after a (({make distclean})) doesn't work.

The commands:

$ tar --extract --gzip --file ruby-1.9.3-p327.tar.gz
$ cd ruby-1.9.3-p327/
$ ./configure --prefix=$HOME/.rbenv/versions/1.9.3-p327 &> my-config.log
$ make &> my-make.log
$ make distclean
$ ./configure --prefix=$HOME/.rbenv/versions/1.9.3-p327 &> my-config2.log
$ diff my-config* && echo identical
identical
$ make &> my-make2.log

From the difference, it looks like at least some generated files are not deleted by (({make distclean})) - miniprelude.c being the first. Then ripper is not configured. And last it seems that .ext/i686-linux/-test-/ and subdirectories has been deleted but not regenerated.
=end

my-config.log - ./configure log (15.7 KB) Victor Engmark, 12/12/2012 07:28 PM

my-make.log - First make log (68.7 KB) Victor Engmark, 12/12/2012 07:28 PM

my-make2.log - Second make log (14.7 KB) Victor Engmark, 12/12/2012 07:28 PM

Associated revisions

Revision 38528
Added by Usaku NAKAMURA over 1 year ago

merge revision(s) 36820: [Backport #7550]

mkmf.rb: clean timestamps

* lib/mkmf.rb (MakeMakefile::CLEANINGS): clean timestamp files.

History

#1 Updated by Henry Seurer over 1 year ago

I also ran into a problem when trying to build 327 on CentOS 6.2. It was having a problem with the following file missing:

../../../../.ext/x86_64-linux/-test-/array/resize.so

When I tried to build ruby I would get the following error:

make[2]: Entering directory /home/ruby-1.9.3-p327/ext/-test-/array/resize'
linking shared-object -test-/array/resize.so
/usr/bin/ld: cannot open output file ../../../../.ext/i686-linux/-test-/array/resize.so: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [../../../../.ext/i686-linux/-test-/array/resize.so] Error 1
make[2]: Leaving directory
/home/ruby-1.9.3-p327/ext/-test-/array/resize'
make[1]: *** [ext/-test-/array/resize/all] Error 2
make[1]: Leaving directory `/home/ruby-1.9.3-p327'
make: *** [build-ext] Error 2

So I did the following:

mkdir ../../../../.ext
mkdir ../../../../.ext/x8664-linux
mkdir ../../../../.ext/x86
64-linux/-test-
mkdir ../../../../.ext/x86_64-linux/-test-/array

I had to do this for each target in the -test- directory.

Upon further investigation, if you do the following in each of the failing directories it fixes the issue:

make -B

I ran into this issue on the following OSs:
OSX 10.8.2
CentOS 6.2

It worked find in Ubuntu.

#2 Updated by Usaku NAKAMURA over 1 year ago

  • Status changed from Open to Assigned
  • Assignee set to Nobuyoshi Nakada

nobu, do you have any idea about this?

#3 Updated by Heesob Park over 1 year ago

In order to fix this issue, the change set r36820 should be backported.

#4 Updated by Usaku NAKAMURA over 1 year ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r38528.
Victor, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 36820: [Backport #7550]

mkmf.rb: clean timestamps

* lib/mkmf.rb (MakeMakefile::CLEANINGS): clean timestamp files.

#5 Updated by Brian Cardarella over 1 year ago

I just applied this diff and am still getting the same error

Also available in: Atom PDF