Project

General

Profile

Actions

Bug #6789

closed

parse.y compilation error due not updated id.h

Added by luislavena (Luis Lavena) over 11 years ago. Updated over 11 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 2.0.0dev (2012-07-25 trunk 36527) [x64-mingw32]
Backport:
[ruby-core:46741]

Description

=begin
Hello,

After r36524, compilation with existing build tree will fail due id.h not being regenerated:

compiling ../dmyversion.c
generating parse.c
parse.h updated
compiling ../array.c
...
compiling parse.c
In file included from ../parse.y:27:0:
id.h:165:1: error: size of array 'checking_for_idNULL' is negative
id.h:166:1: error: size of array 'checking_for_idRespond_to' is negative
id.h:167:1: error: size of array 'checking_for_idIFUNC' is negative
id.h:168:1: error: size of array 'checking_for_idCFUNC' is negative
id.h:169:1: error: size of array 'checking_for_id_core_set_method_alias' is negative
id.h:170:1: error: size of array 'checking_for_id_core_set_variable_alias' is negative
id.h:171:1: error: size of array 'checking_for_id_core_undef_method' is negative
id.h:172:1: error: size of array 'checking_for_id_core_define_method' is negative
id.h:173:1: error: size of array 'checking_for_id_core_define_singleton_method' is negative
id.h:174:1: error: size of array 'checking_for_id_core_set_postexe' is negative
id.h:175:1: error: size of array 'checking_for_id_core_hash_from_ary' is negative
id.h:176:1: error: size of array 'checking_for_id_core_hash_merge_ary' is negative
id.h:177:1: error: size of array 'checking_for_id_core_hash_merge_ptr' is negative
id.h:178:1: error: size of array 'checking_for_id_core_hash_merge_kwd' is negative
id.h:179:1: error: size of array 'checking_for_tLAST_TOKEN' is negative
make: *** [parse.o] Error 1

It required a forced removal of id.h to properly compile after.

This caused a build failure when building RubyInstaller from existing compilation:

http://ci.rubyinstaller.org/job/ruby-trunk-x64/44/console
http://ci.rubyinstaller.org/job/ruby-trunk-x86/45/console

Perhaps id.h generation needs to be marked as dependency of parse.c itself?

=end


Files

noname (500 Bytes) noname Anonymous, 07/26/2012 08:53 AM
parse_dependency.patch (574 Bytes) parse_dependency.patch nagachika (Tomoyuki Chikanaga), 07/29/2012 02:53 AM

Updated by luislavena (Luis Lavena) over 11 years ago

  • Status changed from Open to Assigned

Updated by Anonymous over 11 years ago

On Wed, Jul 25, 2012 at 07:13:27AM +0900, luislavena (Luis Lavena) wrote:

It required a forced removal of id.h to properly compile after.

Doesn't make clean take care of this?

This caused a build failure when building RubyInstaller from existing compilation:

http://ci.rubyinstaller.org/job/ruby-trunk-x64/44/console
http://ci.rubyinstaller.org/job/ruby-trunk-x86/45/console

Perhaps id.h generation needs to be marked as dependency of parse.c itself?

Urgh. If so, I think this should be assigned to Nobu. I am extremely
terrible at our autotools / Makefile build system.

--
Aaron Patterson
http://tenderlovemaking.com/

Updated by luislavena (Luis Lavena) over 11 years ago

  • Assignee changed from tenderlovemaking (Aaron Patterson) to nobu (Nobuyoshi Nakada)

Updated by luislavena (Luis Lavena) over 11 years ago

On Wed, Jul 25, 2012 at 8:45 PM, Aaron Patterson
wrote:

On Wed, Jul 25, 2012 at 07:13:27AM +0900, luislavena (Luis Lavena) wrote:

It required a forced removal of id.h to properly compile after.

Doesn't make clean take care of this?

Yes, it does, but the current CI setup is not doing clean before "all
test", will change that.

But others might be building in-tree and not doing clean before
building, expecting dependencies get resolved and files properly
generated.

Urgh. If so, I think this should be assigned to Nobu. I am extremely
terrible at our autotools / Makefile build system.

Will reassign, thank you.

--
Luis Lavena
AREA 17

Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago

Well, doesn't this patch fix this issue?

Updated by luislavena (Luis Lavena) over 11 years ago

nagachika (Tomoyuki Chikanaga) wrote:

Well, doesn't this patch fix this issue?

Yes, it did.

Can you commit it?

Thank you.

Actions #7

Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago

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

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


Updated by nobu (Nobuyoshi Nakada) over 11 years ago

  • Status changed from Closed to Open
  • % Done changed from 100 to 0
Actions #9

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

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

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


common.mk: id.h dependency

  • common.mk (.y.h): split from .y.c rule to manage dependency on
    parse.h. [ruby-core:46741] [Bug #6789]
  • common.mk (id.h): keep old file unless changed.
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0