Backport #7550
closedCan't rebuild 1.9.3-p327 because of missing resize.so
Description
=begin
As ((<reported elsewhere|URL:http://www.ruby-forum.com/topic/4408967>)), 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
Files
Updated by Henryse (Henry Seurer) about 12 years 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/x86_64-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.
Updated by usa (Usaku NAKAMURA) about 12 years ago
- Status changed from Open to Assigned
- Assignee set to nobu (Nobuyoshi Nakada)
nobu, do you have any idea about this?
Updated by phasis68 (Heesob Park) about 12 years ago
In order to fix this issue, the change set r36820 should be backported.
Updated by usa (Usaku NAKAMURA) about 12 years 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.
Updated by bcardarella (Brian Cardarella) almost 12 years ago
I just applied this diff and am still getting the same error