[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