[DRE-maint] Bug#685952: ruby-gherkin: does not build on several achitecture, blocking newer cucumber

Steve McIntyre steve at einval.com
Sun Jan 20 23:22:50 UTC 2013


On Sun, Aug 26, 2012 at 07:17:07PM -0300, Antonio Terceiro wrote:
>
>shawn escreveu isso aí:
>> On Wed, 2012-08-08 at 17:19 +0200, Cédric Boutillier wrote: 
>> > Hi!
>> > 
>> > ruby-gherkin does not build on the current architectures: armel, armhf,
>> > powerpc, s390 and s390x. Since I do not have access to any of these
>> > architectures, I was wondering if someone else had any clue about why
>> > the compilation fails (the failing tests are the same on all these
>> > architectures).
>> 
>> Without having looked at the code, this list of failing architectures
>> makes me almost certain it is a problem of assuming the C type "char" is
>> signed. The easy fix is to change the offending "char" declaration
>> "signed char".

Shawn is exactly right, AFAICS. It *is* an invalid assumption about
signed-char. I don't know what happened to anybody else's attempts to
debug this, but I just did a build on harris (armhf porter box). The
current unstable source fails to build with the same symptoms as
described. Running the following command:

$ find . -name '*.rb' | xargs grep -l CFLAGS | xargs sed -i 's/Wall/Wall -fsigned-char/g'

fixes the issue - the build succeeds after that. The equivalent patch
to make that change in the source is quite simple to generate for
inclusion in debian/patches, but messy because of the big set of
separate extconf.rb files. This package is a *mess* as shipped by
upstream, with lots of needless repetition.

In fact, looking at the .c source files here, I'm tempted to say that
we don't actually *have* real source in this package.

93sam at harris:~/build/ruby-gherkin/ruby-gherkin-2.11.1$ grep ^#line ext/gherkin_lexer_fi/gherkin_lexer_fi.c
#line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 254 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 89 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c"
#line 258 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 819 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c"
#line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 826 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c"
#line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 89 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 93 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 98 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 112 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 116 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 120 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 124 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 128 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 132 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 143 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 148 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 153 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 158 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 162 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 168 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 175 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 179 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 189 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 203 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 1116 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c"
#line 207 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"
#line 1179 "ext/gherkin_lexer_fi/gherkin_lexer_fi.c"
#line 426 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/fi.c.rl"

Most of the "source" here is being generated from fi.c.rl, and we
don't have that file in this package, nor anywhere else in the Debian
archive. Ick. :-( Is there a good reason why?

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
"It's actually quite entertaining to watch ag129 prop his foot up on
 the desk so he can get a better aim."          [ seen in ucam.chat ]



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