* YACC y.tab.c Usage: /usr/bin/yacc [options] filename
@ 2014-10-06 21:12 Neto, Antonio Jose Rodrigues
2014-10-06 21:44 ` Stephen Cameron
0 siblings, 1 reply; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-06 21:12 UTC (permalink / raw)
To: fio@vger.kernel.org
Hi All,
This is neto from Brazil
How are you?
Trying to compile fio on RHEL 6.4 and I've got this error (latest git).
Please any ideas how to fix it? (I've tried to use CONFIG_ARITHMETIC=n,
but not success)
CC verify.o
CC memory.o
CC io_u.o
LEX lex.yy.c
YACC y.tab.c
Usage: /usr/bin/yacc [options] filename
Options:
-b file_prefix set filename prefix (default "y.")
-d write definitions (y.tab.h)
-g write a graphical description
-l suppress #line directives
-o output_file (default "y.tab.c")
-p symbol_prefix set symbol prefix (default "yy")
-r produce separate code and table files (y.code.c)
-t add debugging support
-v write description (y.output)
-V show version information and exit
make: *** [y.tab.c] Error 1
Thank you,
neto
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 21:12 YACC y.tab.c Usage: /usr/bin/yacc [options] filename Neto, Antonio Jose Rodrigues
@ 2014-10-06 21:44 ` Stephen Cameron
[not found] ` <D05885C8.51DCC%Antonio.Jose.Rodrigues.Neto@netapp.com>
2014-10-06 22:34 ` Bruce Cran
0 siblings, 2 replies; 23+ messages in thread
From: Stephen Cameron @ 2014-10-06 21:44 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues; +Cc: fio@vger.kernel.org
On Mon, Oct 6, 2014 at 4:12 PM, Neto, Antonio Jose Rodrigues
<Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>
> Hi All,
>
> This is neto from Brazil
>
> How are you?
>
> Trying to compile fio on RHEL 6.4 and I've got this error (latest git).
>
> Please any ideas how to fix it? (I've tried to use CONFIG_ARITHMETIC=n,
> but not success)
>
> CC verify.o
> CC memory.o
> CC io_u.o
> LEX lex.yy.c
> YACC y.tab.c
> Usage: /usr/bin/yacc [options] filename
>
> Options:
> -b file_prefix set filename prefix (default "y.")
> -d write definitions (y.tab.h)
> -g write a graphical description
> -l suppress #line directives
> -o output_file (default "y.tab.c")
> -p symbol_prefix set symbol prefix (default "yy")
> -r produce separate code and table files (y.code.c)
> -t add debugging support
> -v write description (y.output)
> -V show version information and exit
> make: *** [y.tab.c] Error 1
I suspect that your version of yacc does not comprehend the --no-lines
option (which we needed only in order to avoid a bug in some other
versions of yacc). From the usage message it does appear to
understand both -d and -l though.
Try changing the --no-lines option in the Makefile to -l instead, and
see if that helps.
You can also run "make V=1 > output.txt" to get more verbose output
from make and get a clearer idea of what the offending command line is
trying to do.
-- steve
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
[not found] ` <D05885C8.51DCC%Antonio.Jose.Rodrigues.Neto@netapp.com>
@ 2014-10-06 22:04 ` Stephen Cameron
2014-10-06 22:10 ` Neto, Antonio Jose Rodrigues
0 siblings, 1 reply; 23+ messages in thread
From: Stephen Cameron @ 2014-10-06 22:04 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues; +Cc: fio@vger.kernel.org
On Mon, Oct 6, 2014 at 4:49 PM, Neto, Antonio Jose Rodrigues
<Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>
>
> On 10/6/14, 5:44 PM, "Stephen Cameron" <stephenmcameron@gmail.com> wrote:
>
>>On Mon, Oct 6, 2014 at 4:12 PM, Neto, Antonio Jose Rodrigues
>><Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>
>>> Hi All,
>>>
>>> This is neto from Brazil
>>>
>>> How are you?
>>>
>>> Trying to compile fio on RHEL 6.4 and I've got this error (latest git).
>>>
>>> Please any ideas how to fix it? (I've tried to use CONFIG_ARITHMETIC=n,
>>> but not success)
>>>
>>> CC verify.o
>>> CC memory.o
>>> CC io_u.o
>>> LEX lex.yy.c
>>> YACC y.tab.c
>>> Usage: /usr/bin/yacc [options] filename
>>>
>>> Options:
>>> -b file_prefix set filename prefix (default "y.")
>>> -d write definitions (y.tab.h)
>>> -g write a graphical description
>>> -l suppress #line directives
>>> -o output_file (default "y.tab.c")
>>> -p symbol_prefix set symbol prefix (default "yy")
>>> -r produce separate code and table files (y.code.c)
>>> -t add debugging support
>>> -v write description (y.output)
>>> -V show version information and exit
>>> make: *** [y.tab.c] Error 1
>>
>>I suspect that your version of yacc does not comprehend the --no-lines
>>option (which we needed only in order to avoid a bug in some other
>>versions of yacc). From the usage message it does appear to
>>understand both -d and -l though.
>>
>>Try changing the --no-lines option in the Makefile to -l instead, and
>>see if that helps.
>>
>>You can also run "make V=1 > output.txt" to get more verbose output
>>from make and get a clearer idea of what the offending command line is
>>trying to do.
>>
>>-- steve
>
> Hi Steve,
>
> This is neto from Brazil
>
> How are you?
>
> I have tried with -l and I've got this: :-(
>
> YACC y.tab.c
> /usr/bin/yacc: e - line 66 of "exp/expression-parser.y", syntax error
> %parse-param { long long *result }
> ^
> make: *** [y.tab.c] Error 1
>
>
>
> [root@s1 fio]# make V=1
> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
> exp/expression-parser.l: In function Œyylex¹:
> exp/expression-parser.l:51: error: Œyylval¹ undeclared (first use in this
> function)
> exp/expression-parser.l:51: error: (Each undeclared identifier is reported
> only once
> exp/expression-parser.l:51: error: for each function it appears in.)
> exp/expression-parser.l:52: error: ŒSUFFIX¹ undeclared (first use in this
> function)
> exp/expression-parser.l:122: error: ŒNUMBER¹ undeclared (first use in this
> function)
> make: *** [lex.yy.o] Error 1
[...]
> Any other ideas?
I found this:
http://stackoverflow.com/questions/19691665/yyparse-argument-list-is-parse-param-portable
which suggests that the "%parse-param" thing only works with bison,
and with bsd's yacc, but not with at&t's yacc, which RHEL6.4 bison
must be emulating all too faithfully.
Try "make YACC=bison V=1" and see if that helps.
-- steve
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:04 ` Stephen Cameron
@ 2014-10-06 22:10 ` Neto, Antonio Jose Rodrigues
2014-10-06 22:25 ` Stephen Cameron
0 siblings, 1 reply; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-06 22:10 UTC (permalink / raw)
To: Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/6/14, 6:04 PM, "Stephen Cameron" <stephenmcameron@gmail.com> wrote:
>On Mon, Oct 6, 2014 at 4:49 PM, Neto, Antonio Jose Rodrigues
><Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>
>>
>> On 10/6/14, 5:44 PM, "Stephen Cameron" <stephenmcameron@gmail.com>
>>wrote:
>>
>>>On Mon, Oct 6, 2014 at 4:12 PM, Neto, Antonio Jose Rodrigues
>>><Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>>
>>>> Hi All,
>>>>
>>>> This is neto from Brazil
>>>>
>>>> How are you?
>>>>
>>>> Trying to compile fio on RHEL 6.4 and I've got this error (latest
>>>>git).
>>>>
>>>> Please any ideas how to fix it? (I've tried to use
>>>>CONFIG_ARITHMETIC=n,
>>>> but not success)
>>>>
>>>> CC verify.o
>>>> CC memory.o
>>>> CC io_u.o
>>>> LEX lex.yy.c
>>>> YACC y.tab.c
>>>> Usage: /usr/bin/yacc [options] filename
>>>>
>>>> Options:
>>>> -b file_prefix set filename prefix (default "y.")
>>>> -d write definitions (y.tab.h)
>>>> -g write a graphical description
>>>> -l suppress #line directives
>>>> -o output_file (default "y.tab.c")
>>>> -p symbol_prefix set symbol prefix (default "yy")
>>>> -r produce separate code and table files
>>>>(y.code.c)
>>>> -t add debugging support
>>>> -v write description (y.output)
>>>> -V show version information and exit
>>>> make: *** [y.tab.c] Error 1
>>>
>>>I suspect that your version of yacc does not comprehend the --no-lines
>>>option (which we needed only in order to avoid a bug in some other
>>>versions of yacc). From the usage message it does appear to
>>>understand both -d and -l though.
>>>
>>>Try changing the --no-lines option in the Makefile to -l instead, and
>>>see if that helps.
>>>
>>>You can also run "make V=1 > output.txt" to get more verbose output
>>>from make and get a clearer idea of what the offending command line is
>>>trying to do.
>>>
>>>-- steve
>>
>> Hi Steve,
>>
>> This is neto from Brazil
>>
>> How are you?
>>
>> I have tried with -l and I've got this: :-(
>>
>> YACC y.tab.c
>> /usr/bin/yacc: e - line 66 of "exp/expression-parser.y", syntax error
>> %parse-param { long long *result }
>> ^
>> make: *** [y.tab.c] Error 1
>>
>>
>>
>> [root@s1 fio]# make V=1
>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
>> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>> exp/expression-parser.l: In function Œyylex¹:
>> exp/expression-parser.l:51: error: Œyylval¹ undeclared (first use in
>>this
>> function)
>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>reported
>> only once
>> exp/expression-parser.l:51: error: for each function it appears in.)
>> exp/expression-parser.l:52: error: ŒSUFFIX¹ undeclared (first use in
>>this
>> function)
>> exp/expression-parser.l:122: error: ŒNUMBER¹ undeclared (first use in
>>this
>> function)
>> make: *** [lex.yy.o] Error 1
>[...]
>> Any other ideas?
>
>I found this:
>
>http://stackoverflow.com/questions/19691665/yyparse-argument-list-is-parse
>-param-portable
>
>which suggests that the "%parse-param" thing only works with bison,
>and with bsd's yacc, but not with at&t's yacc, which RHEL6.4 bison
>must be emulating all too faithfully.
>
>Try "make YACC=bison V=1" and see if that helps.
>
>-- steve
>--
gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
-Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
-D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
exp/expression-parser.l: In function ‘yylex’:
exp/expression-parser.l:51: error: ‘yylval’ undeclared (first use in this
function)
exp/expression-parser.l:51: error: (Each undeclared identifier is reported
only once
exp/expression-parser.l:51: error: for each function it appears in.)
exp/expression-parser.l:52: error: ‘SUFFIX’ undeclared (first use in this
function)
exp/expression-parser.l:122: error: ‘NUMBER’ undeclared (first use in this
function)
make: *** [lex.yy.o] Error 1
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:10 ` Neto, Antonio Jose Rodrigues
@ 2014-10-06 22:25 ` Stephen Cameron
2014-10-06 22:28 ` Neto, Antonio Jose Rodrigues
2014-10-07 1:10 ` Jens Axboe
0 siblings, 2 replies; 23+ messages in thread
From: Stephen Cameron @ 2014-10-06 22:25 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues; +Cc: fio@vger.kernel.org
On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
<Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>
>
[...]
>
> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
> exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
> exp/expression-parser.l: In function ‘yylex’:
> exp/expression-parser.l:51: error: ‘yylval’ undeclared (first use in this
> function)
> exp/expression-parser.l:51: error: (Each undeclared identifier is reported
> only once
> exp/expression-parser.l:51: error: for each function it appears in.)
> exp/expression-parser.l:52: error: ‘SUFFIX’ undeclared (first use in this
> function)
> exp/expression-parser.l:122: error: ‘NUMBER’ undeclared (first use in this
> function)
> make: *** [lex.yy.o] Error 1
>
>
Ok, hmm.
Try making the following change to the Makefile:
--- a/Makefile
+++ b/Makefile
@@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
y.tab.c: exp/expression-parser.y
- $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
+ $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
y.tab.h: y.tab.c
(I cut and pasted the above, so it is probably not a well formatted
patch anymore).
That is, add " -b y " into the line for yacc. bison by default
doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
and xxx.tab.h, which makes more sense than what yacc does, but it's
not what the makefile is expecting. The "-b y" tells bison to use "y"
as the output file prefix, just as yacc normally does.
then "make clean" and "make YACC=bison" and see if that works.
-- steve
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:25 ` Stephen Cameron
@ 2014-10-06 22:28 ` Neto, Antonio Jose Rodrigues
2014-10-06 22:31 ` Stephen Cameron
2014-10-07 1:10 ` Jens Axboe
1 sibling, 1 reply; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-06 22:28 UTC (permalink / raw)
To: Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/6/14, 6:25 PM, "Stephen Cameron" <stephenmcameron@gmail.com> wrote:
>On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
><Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>
>>
>[...]
>>
>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
>> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
>> exp/expression-parser.l: In function �yylex�:
>> exp/expression-parser.l:51: error: �yylval� undeclared (first use in
>>this
>> function)
>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>reported
>> only once
>> exp/expression-parser.l:51: error: for each function it appears in.)
>> exp/expression-parser.l:52: error: �SUFFIX� undeclared (first use in
>>this
>> function)
>> exp/expression-parser.l:122: error: �NUMBER� undeclared (first use in
>>this
>> function)
>> make: *** [lex.yy.o] Error 1
>>
>>
>
>Ok, hmm.
>
>Try making the following change to the Makefile:
>
>--- a/Makefile
>+++ b/Makefile
>@@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>
> y.tab.c: exp/expression-parser.y
>- $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>+ $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
>
> y.tab.h: y.tab.c
>
>(I cut and pasted the above, so it is probably not a well formatted
>patch anymore).
>
>That is, add " -b y " into the line for yacc. bison by default
>doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>and xxx.tab.h, which makes more sense than what yacc does, but it's
>not what the makefile is expecting. The "-b y" tells bison to use "y"
>as the output file prefix, just as yacc normally does.
>
>then "make clean" and "make YACC=bison" and see if that works.
>
>-- steve
Steve,
This is neto from Brazil
How are you?
Thank you VERY MUCH. It worked.
LINK fio
CC t/stest.o
CC t/log.o
CC t/debug.o
LINK t/stest
CC t/ieee754.o
LINK t/ieee754
CC t/genzipf.o
LINK t/genzipf
CC t/axmap.o
LINK t/axmap
CC t/lfsr-test.o
LINK t/lfsr-test
CC t/btrace2fio.o
LINK t/btrace2fio
CC t/dedupe.o
LINK t/dedupe
All the best,
neto
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:28 ` Neto, Antonio Jose Rodrigues
@ 2014-10-06 22:31 ` Stephen Cameron
2014-10-07 1:18 ` Jens Axboe
0 siblings, 1 reply; 23+ messages in thread
From: Stephen Cameron @ 2014-10-06 22:31 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues; +Cc: fio@vger.kernel.org
Glad I could help, and that this got fio going for you, and it's ok as
a temporary fix, but really, it should just work without having to
mess around with such things, so I still have some work to do to
figure out how to make that happen.
-- steve
On Mon, Oct 6, 2014 at 5:28 PM, Neto, Antonio Jose Rodrigues
<Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>
>
> On 10/6/14, 6:25 PM, "Stephen Cameron" <stephenmcameron@gmail.com> wrote:
>
>>On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>><Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>
>>>
>>[...]
>>>
>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
>>> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
>>> exp/expression-parser.l: In function Œyylex¹:
>>> exp/expression-parser.l:51: error: Œyylval¹ undeclared (first use in
>>>this
>>> function)
>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>>reported
>>> only once
>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>> exp/expression-parser.l:52: error: ŒSUFFIX¹ undeclared (first use in
>>>this
>>> function)
>>> exp/expression-parser.l:122: error: ŒNUMBER¹ undeclared (first use in
>>>this
>>> function)
>>> make: *** [lex.yy.o] Error 1
>>>
>>>
>>
>>Ok, hmm.
>>
>>Try making the following change to the Makefile:
>>
>>--- a/Makefile
>>+++ b/Makefile
>>@@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>
>> y.tab.c: exp/expression-parser.y
>>- $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>>+ $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
>>
>> y.tab.h: y.tab.c
>>
>>(I cut and pasted the above, so it is probably not a well formatted
>>patch anymore).
>>
>>That is, add " -b y " into the line for yacc. bison by default
>>doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>>and xxx.tab.h, which makes more sense than what yacc does, but it's
>>not what the makefile is expecting. The "-b y" tells bison to use "y"
>>as the output file prefix, just as yacc normally does.
>>
>>then "make clean" and "make YACC=bison" and see if that works.
>>
>>-- steve
>
>
> Steve,
>
> This is neto from Brazil
>
> How are you?
>
> Thank you VERY MUCH. It worked.
>
> LINK fio
> CC t/stest.o
> CC t/log.o
> CC t/debug.o
> LINK t/stest
> CC t/ieee754.o
> LINK t/ieee754
> CC t/genzipf.o
> LINK t/genzipf
> CC t/axmap.o
> LINK t/axmap
> CC t/lfsr-test.o
> LINK t/lfsr-test
> CC t/btrace2fio.o
> LINK t/btrace2fio
> CC t/dedupe.o
> LINK t/dedupe
>
>
>
> All the best,
>
> neto
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 21:44 ` Stephen Cameron
[not found] ` <D05885C8.51DCC%Antonio.Jose.Rodrigues.Neto@netapp.com>
@ 2014-10-06 22:34 ` Bruce Cran
2014-10-06 23:02 ` Stephen Cameron
1 sibling, 1 reply; 23+ messages in thread
From: Bruce Cran @ 2014-10-06 22:34 UTC (permalink / raw)
To: fio@vger.kernel.org
On 10/6/2014 3:44 PM, Stephen Cameron wrote:
> I suspect that your version of yacc does not comprehend the --no-lines
> option (which we needed only in order to avoid a bug in some other
> versions of yacc). From the usage message it does appear to
> understand both -d and -l though.
>
> Try changing the --no-lines option in the Makefile to -l instead, and
> see if that helps.
The same problem occurs on FreeBSD 10. After changing "--no-lines" to
"-l" the build works, with the following warnings:
YACC y.tab.c
CC lex.yy.o
lex.yy.c:1245:3: warning: incompatible pointer types passing 'yy_size_t
*' (aka 'unsigned long *') to parameter of type 'int *'
[-Wincompatible-pointer-types]
YY_INPUT(
(&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
lexer_input((buffer), &(bytes_read), (bytes_requested))
^~~~~~~~~~~~~
exp/expression-parser.l:27:43: note: passing argument to parameter
'nbytes' here
extern int lexer_input(char* buffer, int *nbytes, int buffersize);
--
Bruce
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:34 ` Bruce Cran
@ 2014-10-06 23:02 ` Stephen Cameron
0 siblings, 0 replies; 23+ messages in thread
From: Stephen Cameron @ 2014-10-06 23:02 UTC (permalink / raw)
To: Bruce Cran; +Cc: fio@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 1698 bytes --]
On Mon, Oct 6, 2014 at 5:34 PM, Bruce Cran <bruce@cran.org.uk> wrote:
> On 10/6/2014 3:44 PM, Stephen Cameron wrote:
>>
>> I suspect that your version of yacc does not comprehend the --no-lines
>> option (which we needed only in order to avoid a bug in some other
>> versions of yacc). From the usage message it does appear to
>> understand both -d and -l though.
>>
>> Try changing the --no-lines option in the Makefile to -l instead, and
>> see if that helps.
>
>
> The same problem occurs on FreeBSD 10. After changing "--no-lines" to "-l"
> the build works, with the following warnings:
>
> YACC y.tab.c
> CC lex.yy.o
> lex.yy.c:1245:3: warning: incompatible pointer types passing 'yy_size_t *'
> (aka 'unsigned long *') to parameter of type 'int *'
> [-Wincompatible-pointer-types]
> YY_INPUT(
> (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
> lexer_input((buffer), &(bytes_read), (bytes_requested))
> ^~~~~~~~~~~~~
> exp/expression-parser.l:27:43: note: passing argument to parameter 'nbytes'
> here
> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
>
I think Jens mentioned seeing something similar on Mac OSX (which
makes sense as it's a BSD derivative). I think it will work so long
as sizeof(int) <= sizeof(unsigned long) and you're on a little endian
architecture and the buffer is not ridiculously huge. I suspect on a
big endian arch where sizeof(long) > sizeof(int), it would fail.
Can you see if the attached patch fixes it?
-- steve
[-- Attachment #2: 0001-fix-problem-with-yy_size_t-vs-int-param-to-lexer_inp.patch --]
[-- Type: text/x-patch, Size: 1787 bytes --]
From 5a76b7f44183c65afd7af9d578729965c3ba8e75 Mon Sep 17 00:00:00 2001
From: "Stephen M. Cameron" <stephenmcameron@gmail.com>
Date: Mon, 6 Oct 2014 17:58:32 -0500
Subject: [PATCH] fix problem with yy_size_t vs int param to lexer_input
BSD yacc uses "int" for this param, linux uses size_t
---
Makefile | 4 +++-
exp/expression-parser.y | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index d735ec7..424a112 100644
--- a/Makefile
+++ b/Makefile
@@ -268,7 +268,7 @@ override CFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"'
ifdef CONFIG_ARITHMETIC
lex.yy.c: exp/expression-parser.l
- $(QUIET_LEX)$(LEX) exp/expression-parser.l
+ $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l
lex.yy.o: lex.yy.c y.tab.h
$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
@@ -281,6 +281,8 @@ y.tab.c: exp/expression-parser.y
y.tab.h: y.tab.c
+lexer.h: lex.yy.c
+
exp/test-expression-parser.o: exp/test-expression-parser.c
$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
exp/test-expression-parser: exp/test-expression-parser.o
diff --git a/exp/expression-parser.y b/exp/expression-parser.y
index e4373d4..83b5b30 100644
--- a/exp/expression-parser.y
+++ b/exp/expression-parser.y
@@ -21,6 +21,8 @@
#include <stdio.h>
#include <string.h>
#include <math.h>
+#include "lexer.h"
+
struct parser_value_type {
double dval;
long long ival;
@@ -186,7 +188,7 @@ expression: expression '+' expression {
static int lexer_read_offset = 0;
static char lexer_input_buffer[1000];
-int lexer_input(char* buffer, int *bytes_read, int bytes_requested)
+int lexer_input(char* buffer, yy_size_t *bytes_read, int bytes_requested)
{
int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:25 ` Stephen Cameron
2014-10-06 22:28 ` Neto, Antonio Jose Rodrigues
@ 2014-10-07 1:10 ` Jens Axboe
2014-10-07 1:26 ` Stephen Cameron
1 sibling, 1 reply; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 1:10 UTC (permalink / raw)
To: Stephen Cameron, Neto, Antonio Jose Rodrigues; +Cc: fio@vger.kernel.org
On 2014-10-06 16:25, Stephen Cameron wrote:
> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>
>>
> [...]
>>
>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
>> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
>> exp/expression-parser.l: In function ‘yylex’:
>> exp/expression-parser.l:51: error: ‘yylval’ undeclared (first use in this
>> function)
>> exp/expression-parser.l:51: error: (Each undeclared identifier is reported
>> only once
>> exp/expression-parser.l:51: error: for each function it appears in.)
>> exp/expression-parser.l:52: error: ‘SUFFIX’ undeclared (first use in this
>> function)
>> exp/expression-parser.l:122: error: ‘NUMBER’ undeclared (first use in this
>> function)
>> make: *** [lex.yy.o] Error 1
>>
>>
>
> Ok, hmm.
>
> Try making the following change to the Makefile:
>
> --- a/Makefile
> +++ b/Makefile
> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>
> y.tab.c: exp/expression-parser.y
> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
> + $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
>
> y.tab.h: y.tab.c
>
> (I cut and pasted the above, so it is probably not a well formatted
> patch anymore).
>
> That is, add " -b y " into the line for yacc. bison by default
> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
> and xxx.tab.h, which makes more sense than what yacc does, but it's
> not what the makefile is expecting. The "-b y" tells bison to use "y"
> as the output file prefix, just as yacc normally does.
>
> then "make clean" and "make YACC=bison" and see if that works.
Should we default to using bison? Right now it checks for yacc first,
and uses that if available. If not, it checks for bison and uses that.
Would be easy enough to move around in configure.
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-06 22:31 ` Stephen Cameron
@ 2014-10-07 1:18 ` Jens Axboe
0 siblings, 0 replies; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 1:18 UTC (permalink / raw)
To: Stephen Cameron, Neto, Antonio Jose Rodrigues; +Cc: fio@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 456 bytes --]
On 2014-10-06 16:31, Stephen Cameron wrote:
> Glad I could help, and that this got fio going for you, and it's ok as
> a temporary fix, but really, it should just work without having to
> mess around with such things, so I still have some work to do to
> figure out how to make that happen.
Neto, can you try this patch? It's basically what Steve sent, just
wrapped up into a complete patch. Apply the patch, make clean, and then
make.
--
Jens Axboe
[-- Attachment #2: bison.patch --]
[-- Type: text/x-patch, Size: 933 bytes --]
diff --git a/Makefile b/Makefile
index d735ec7e991d..1c2994366718 100644
--- a/Makefile
+++ b/Makefile
@@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
y.tab.c: exp/expression-parser.y
- $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
+ $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
y.tab.h: y.tab.c
diff --git a/configure b/configure
index f7d8ff92b22c..e3ec25232706 100755
--- a/configure
+++ b/configure
@@ -1279,14 +1279,14 @@ LEX=$(which lex 2> /dev/null)
if test -x "$LEX" ; then
lex="yes"
fi
-YACC=$(which yacc 2> /dev/null)
+YACC=$(which bison 2> /dev/null)
if test -x "$YACC" ; then
yacc="yes"
+ yacc_is_bison="yes"
else
- YACC=$(which bison 2> /dev/null)
+ YACC=$(which yacc 2> /dev/null)
if test -x "$YACC" ; then
yacc="yes"
- yacc_is_bison="yes"
fi
fi
if test "$yacc" = "yes" && test "$lex" = "yes" ; then
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 1:10 ` Jens Axboe
@ 2014-10-07 1:26 ` Stephen Cameron
2014-10-07 2:18 ` Jens Axboe
0 siblings, 1 reply; 23+ messages in thread
From: Stephen Cameron @ 2014-10-07 1:26 UTC (permalink / raw)
To: Jens Axboe; +Cc: Neto, Antonio Jose Rodrigues, fio@vger.kernel.org
On Mon, Oct 6, 2014 at 8:10 PM, Jens Axboe <axboe@kernel.dk> wrote:
> On 2014-10-06 16:25, Stephen Cameron wrote:
>>
>> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>
>>>
>>>
>> [...]
>>>
>>>
>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
>>> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
>>> exp/expression-parser.l: In function ‘yylex’:
>>> exp/expression-parser.l:51: error: ‘yylval’ undeclared (first use in this
>>> function)
>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>> reported
>>> only once
>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>> exp/expression-parser.l:52: error: ‘SUFFIX’ undeclared (first use in this
>>> function)
>>> exp/expression-parser.l:122: error: ‘NUMBER’ undeclared (first use in
>>> this
>>> function)
>>> make: *** [lex.yy.o] Error 1
>>>
>>>
>>
>> Ok, hmm.
>>
>> Try making the following change to the Makefile:
>>
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>
>> y.tab.c: exp/expression-parser.y
>> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>> + $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
>>
>> y.tab.h: y.tab.c
>>
>> (I cut and pasted the above, so it is probably not a well formatted
>> patch anymore).
>>
>> That is, add " -b y " into the line for yacc. bison by default
>> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>> and xxx.tab.h, which makes more sense than what yacc does, but it's
>> not what the makefile is expecting. The "-b y" tells bison to use "y"
>> as the output file prefix, just as yacc normally does.
>>
>> then "make clean" and "make YACC=bison" and see if that works.
>
>
> Should we default to using bison? Right now it checks for yacc first, and
> uses that if available. If not, it checks for bison and uses that. Would be
> easy enough to move around in configure.
I'm not sure, I haven't proposed a real fix because I'm not sure what
a real fix should look like. We're using %parse-param, and I think
yacc, or bison doing an exceptionally good job of pretending to be
yacc, can't handle that. I guess the versions of bison that I have
seen do not do such a perfect job of pretending to be yacc, and allow
%parse-params to work anyway. So the real fix might be to figure out
how to get away without using %parse-param, so that yacc can deal with
it.
Or maybe we just require bison? Maybe nowadays everyone has bison?
Neto also mentioned that he wasn't able to build with arithmetic
configured off. I didn't try to chase that down.
-- steve
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 1:26 ` Stephen Cameron
@ 2014-10-07 2:18 ` Jens Axboe
2014-10-07 13:39 ` Neto, Antonio Jose Rodrigues
0 siblings, 1 reply; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 2:18 UTC (permalink / raw)
To: Stephen Cameron; +Cc: Neto, Antonio Jose Rodrigues, fio@vger.kernel.org
On 2014-10-06 19:26, Stephen Cameron wrote:
> On Mon, Oct 6, 2014 at 8:10 PM, Jens Axboe <axboe@kernel.dk> wrote:
>> On 2014-10-06 16:25, Stephen Cameron wrote:
>>>
>>> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>>> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>>
>>>>
>>>>
>>> [...]
>>>>
>>>>
>>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE -include
>>>> config-host.h -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or directory
>>>> exp/expression-parser.l: In function ‘yylex’:
>>>> exp/expression-parser.l:51: error: ‘yylval’ undeclared (first use in this
>>>> function)
>>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>>> reported
>>>> only once
>>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>>> exp/expression-parser.l:52: error: ‘SUFFIX’ undeclared (first use in this
>>>> function)
>>>> exp/expression-parser.l:122: error: ‘NUMBER’ undeclared (first use in
>>>> this
>>>> function)
>>>> make: *** [lex.yy.o] Error 1
>>>>
>>>>
>>>
>>> Ok, hmm.
>>>
>>> Try making the following change to the Makefile:
>>>
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>>
>>> y.tab.c: exp/expression-parser.y
>>> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>>> + $(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
>>>
>>> y.tab.h: y.tab.c
>>>
>>> (I cut and pasted the above, so it is probably not a well formatted
>>> patch anymore).
>>>
>>> That is, add " -b y " into the line for yacc. bison by default
>>> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>>> and xxx.tab.h, which makes more sense than what yacc does, but it's
>>> not what the makefile is expecting. The "-b y" tells bison to use "y"
>>> as the output file prefix, just as yacc normally does.
>>>
>>> then "make clean" and "make YACC=bison" and see if that works.
>>
>>
>> Should we default to using bison? Right now it checks for yacc first, and
>> uses that if available. If not, it checks for bison and uses that. Would be
>> easy enough to move around in configure.
>
> I'm not sure, I haven't proposed a real fix because I'm not sure what
> a real fix should look like. We're using %parse-param, and I think
> yacc, or bison doing an exceptionally good job of pretending to be
> yacc, can't handle that. I guess the versions of bison that I have
> seen do not do such a perfect job of pretending to be yacc, and allow
> %parse-params to work anyway. So the real fix might be to figure out
> how to get away without using %parse-param, so that yacc can deal with
> it.
>
> Or maybe we just require bison? Maybe nowadays everyone has bison?
It's probably a safer choice than defaulting to yacc, me thinks... We'll
see how that goes. I might have to extend and improve it to check not
just if it's there, but if it actually works for our case as well. But
baby steps, perhaps this is enough.
> Neto also mentioned that he wasn't able to build with arithmetic
> configured off. I didn't try to chase that down.
I think that's a build issue due to hand editing stuff and attempting a
build. The current code builds fine if it's off, I definitely tested
that prior to pulling things in.
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 2:18 ` Jens Axboe
@ 2014-10-07 13:39 ` Neto, Antonio Jose Rodrigues
2014-10-07 13:51 ` Neto, Antonio Jose Rodrigues
2014-10-07 14:16 ` Jens Axboe
0 siblings, 2 replies; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-07 13:39 UTC (permalink / raw)
To: Jens Axboe, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/6/14, 10:18 PM, "Jens Axboe" <axboe@kernel.dk> wrote:
>On 2014-10-06 19:26, Stephen Cameron wrote:
>> On Mon, Oct 6, 2014 at 8:10 PM, Jens Axboe <axboe@kernel.dk> wrote:
>>> On 2014-10-06 16:25, Stephen Cameron wrote:
>>>>
>>>> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>>>> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>>>
>>>>>
>>>>>
>>>> [...]
>>>>>
>>>>>
>>>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE
>>>>>-include
>>>>> config-host.h -DBITS_PER_LONG=64
>>>>>-DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or
>>>>>directory
>>>>> exp/expression-parser.l: In function Œyylex¹:
>>>>> exp/expression-parser.l:51: error: Œyylval¹ undeclared (first use in
>>>>>this
>>>>> function)
>>>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>>>> reported
>>>>> only once
>>>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>>>> exp/expression-parser.l:52: error: ŒSUFFIX¹ undeclared (first use in
>>>>>this
>>>>> function)
>>>>> exp/expression-parser.l:122: error: ŒNUMBER¹ undeclared (first use in
>>>>> this
>>>>> function)
>>>>> make: *** [lex.yy.o] Error 1
>>>>>
>>>>>
>>>>
>>>> Ok, hmm.
>>>>
>>>> Try making the following change to the Makefile:
>>>>
>>>> --- a/Makefile
>>>> +++ b/Makefile
>>>> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>>>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>>>
>>>> y.tab.c: exp/expression-parser.y
>>>> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>>>> + $(QUIET_YACC)$(YACC) --no-lines -d -b y
>>>>exp/expression-parser.y
>>>>
>>>> y.tab.h: y.tab.c
>>>>
>>>> (I cut and pasted the above, so it is probably not a well formatted
>>>> patch anymore).
>>>>
>>>> That is, add " -b y " into the line for yacc. bison by default
>>>> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>>>> and xxx.tab.h, which makes more sense than what yacc does, but it's
>>>> not what the makefile is expecting. The "-b y" tells bison to use "y"
>>>> as the output file prefix, just as yacc normally does.
>>>>
>>>> then "make clean" and "make YACC=bison" and see if that works.
>>>
>>>
>>> Should we default to using bison? Right now it checks for yacc first,
>>>and
>>> uses that if available. If not, it checks for bison and uses that.
>>>Would be
>>> easy enough to move around in configure.
>>
>> I'm not sure, I haven't proposed a real fix because I'm not sure what
>> a real fix should look like. We're using %parse-param, and I think
>> yacc, or bison doing an exceptionally good job of pretending to be
>> yacc, can't handle that. I guess the versions of bison that I have
>> seen do not do such a perfect job of pretending to be yacc, and allow
>> %parse-params to work anyway. So the real fix might be to figure out
>> how to get away without using %parse-param, so that yacc can deal with
>> it.
>>
>> Or maybe we just require bison? Maybe nowadays everyone has bison?
>
>It's probably a safer choice than defaulting to yacc, me thinks... We'll
>see how that goes. I might have to extend and improve it to check not
>just if it's there, but if it actually works for our case as well. But
>baby steps, perhaps this is enough.
>
>> Neto also mentioned that he wasn't able to build with arithmetic
>> configured off. I didn't try to chase that down.
>
>I think that's a build issue due to hand editing stuff and attempting a
>build. The current code builds fine if it's off, I definitely tested
>that prior to pulling things in.
>
>--
>Jens Axboe
Hi Jens,
This is neto from Brazil
How are you?
I have applied the latest commit.
On MAC:
Still getting warnings:
YACC y.tab.c
CC lex.yy.o
lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
(aka 'unsigned long *') to parameter of type 'int *'
[-Wincompatible-pointer-types]
...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
lexer_input((buffer), &(bytes_read), (bytes_requested))
^~~~~~~~~~~~~
exp/expression-parser.l:27:43: note: passing argument to parameter
'nbytes' here
extern int lexer_input(char* buffer, int *nbytes, int buffersize);
^
On Linux (RedHat 6.4)
All good :-)
Thank you,
neto
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 13:39 ` Neto, Antonio Jose Rodrigues
@ 2014-10-07 13:51 ` Neto, Antonio Jose Rodrigues
2014-10-07 14:17 ` Jens Axboe
2014-10-07 14:16 ` Jens Axboe
1 sibling, 1 reply; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-07 13:51 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues, Jens Axboe, Stephen Cameron
Cc: fio@vger.kernel.org
On 10/7/14, 9:39 AM, "Neto, Antonio Jose Rodrigues"
<Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>
>
>On 10/6/14, 10:18 PM, "Jens Axboe" <axboe@kernel.dk> wrote:
>
>>On 2014-10-06 19:26, Stephen Cameron wrote:
>>> On Mon, Oct 6, 2014 at 8:10 PM, Jens Axboe <axboe@kernel.dk> wrote:
>>>> On 2014-10-06 16:25, Stephen Cameron wrote:
>>>>>
>>>>> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>>>>> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>> [...]
>>>>>>
>>>>>>
>>>>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>>>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE
>>>>>>-include
>>>>>> config-host.h -DBITS_PER_LONG=64
>>>>>>-DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>>>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>>>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>>>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or
>>>>>>directory
>>>>>> exp/expression-parser.l: In function Œyylex¹:
>>>>>> exp/expression-parser.l:51: error: Œyylval¹ undeclared (first use in
>>>>>>this
>>>>>> function)
>>>>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>>>>> reported
>>>>>> only once
>>>>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>>>>> exp/expression-parser.l:52: error: ŒSUFFIX¹ undeclared (first use in
>>>>>>this
>>>>>> function)
>>>>>> exp/expression-parser.l:122: error: ŒNUMBER¹ undeclared (first use
>>>>>>in
>>>>>> this
>>>>>> function)
>>>>>> make: *** [lex.yy.o] Error 1
>>>>>>
>>>>>>
>>>>>
>>>>> Ok, hmm.
>>>>>
>>>>> Try making the following change to the Makefile:
>>>>>
>>>>> --- a/Makefile
>>>>> +++ b/Makefile
>>>>> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>>>>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>>>>
>>>>> y.tab.c: exp/expression-parser.y
>>>>> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>>>>> + $(QUIET_YACC)$(YACC) --no-lines -d -b y
>>>>>exp/expression-parser.y
>>>>>
>>>>> y.tab.h: y.tab.c
>>>>>
>>>>> (I cut and pasted the above, so it is probably not a well formatted
>>>>> patch anymore).
>>>>>
>>>>> That is, add " -b y " into the line for yacc. bison by default
>>>>> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>>>>> and xxx.tab.h, which makes more sense than what yacc does, but it's
>>>>> not what the makefile is expecting. The "-b y" tells bison to use
>>>>>"y"
>>>>> as the output file prefix, just as yacc normally does.
>>>>>
>>>>> then "make clean" and "make YACC=bison" and see if that works.
>>>>
>>>>
>>>> Should we default to using bison? Right now it checks for yacc first,
>>>>and
>>>> uses that if available. If not, it checks for bison and uses that.
>>>>Would be
>>>> easy enough to move around in configure.
>>>
>>> I'm not sure, I haven't proposed a real fix because I'm not sure what
>>> a real fix should look like. We're using %parse-param, and I think
>>> yacc, or bison doing an exceptionally good job of pretending to be
>>> yacc, can't handle that. I guess the versions of bison that I have
>>> seen do not do such a perfect job of pretending to be yacc, and allow
>>> %parse-params to work anyway. So the real fix might be to figure out
>>> how to get away without using %parse-param, so that yacc can deal with
>>> it.
>>>
>>> Or maybe we just require bison? Maybe nowadays everyone has bison?
>>
>>It's probably a safer choice than defaulting to yacc, me thinks... We'll
>>see how that goes. I might have to extend and improve it to check not
>>just if it's there, but if it actually works for our case as well. But
>>baby steps, perhaps this is enough.
>>
>>> Neto also mentioned that he wasn't able to build with arithmetic
>>> configured off. I didn't try to chase that down.
>>
>>I think that's a build issue due to hand editing stuff and attempting a
>>build. The current code builds fine if it's off, I definitely tested
>>that prior to pulling things in.
>>
>>--
>>Jens Axboe
>
>
>
>Hi Jens,
>
>This is neto from Brazil
>
>How are you?
>
>I have applied the latest commit.
>
>On MAC:
>
>Still getting warnings:
>
> YACC y.tab.c
> CC lex.yy.o
>lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
> (aka 'unsigned long *') to parameter of type 'int *'
> [-Wincompatible-pointer-types]
> ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
> lexer_input((buffer), &(bytes_read), (bytes_requested))
> ^~~~~~~~~~~~~
>exp/expression-parser.l:27:43: note: passing argument to parameter
>'nbytes' here
>extern int lexer_input(char* buffer, int *nbytes, int buffersize);
> ^
>
>
>
>On Linux (RedHat 6.4)
>
>All good :-)
>
>Thank you,
>
>neto
Hi Jens,
This is neto from Brazil
How are you?
Another issue that I have realized, on RHEL the new tools t/dedupe works
but it does not work on my mac.
Seems to me that is related to YACC.
Please see below:
Nossa Senhora:fio neto$ make V=1 t/dedupe
gcc -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -O3 -g
-ffast-math -D_GNU_SOURCE -include config-host.h -DBITS_PER_LONG=64
-DFIO_VERSION='"fio-2.1.13-31-g15e3"' -o t/dedupe -ll -lz -lm -lpthread
-ldl
Undefined symbols for architecture x86_64:
"_yylex", referenced from:
_main in libl.a(libmain.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [t/dedupe] Error 1
Any idea how to fix it?
Thank you,
neto
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 13:39 ` Neto, Antonio Jose Rodrigues
2014-10-07 13:51 ` Neto, Antonio Jose Rodrigues
@ 2014-10-07 14:16 ` Jens Axboe
1 sibling, 0 replies; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 14:16 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/07/2014 07:39 AM, Neto, Antonio Jose Rodrigues wrote:
>
>
> On 10/6/14, 10:18 PM, "Jens Axboe" <axboe@kernel.dk> wrote:
>
>> On 2014-10-06 19:26, Stephen Cameron wrote:
>>> On Mon, Oct 6, 2014 at 8:10 PM, Jens Axboe <axboe@kernel.dk> wrote:
>>>> On 2014-10-06 16:25, Stephen Cameron wrote:
>>>>>
>>>>> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>>>>> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>> [...]
>>>>>>
>>>>>>
>>>>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>>>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE
>>>>>> -include
>>>>>> config-host.h -DBITS_PER_LONG=64
>>>>>> -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>>>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>>>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>>>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or
>>>>>> directory
>>>>>> exp/expression-parser.l: In function �yylex�:
>>>>>> exp/expression-parser.l:51: error: �yylval� undeclared (first use in
>>>>>> this
>>>>>> function)
>>>>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>>>>> reported
>>>>>> only once
>>>>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>>>>> exp/expression-parser.l:52: error: �SUFFIX� undeclared (first use in
>>>>>> this
>>>>>> function)
>>>>>> exp/expression-parser.l:122: error: �NUMBER� undeclared (first use in
>>>>>> this
>>>>>> function)
>>>>>> make: *** [lex.yy.o] Error 1
>>>>>>
>>>>>>
>>>>>
>>>>> Ok, hmm.
>>>>>
>>>>> Try making the following change to the Makefile:
>>>>>
>>>>> --- a/Makefile
>>>>> +++ b/Makefile
>>>>> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>>>>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>>>>
>>>>> y.tab.c: exp/expression-parser.y
>>>>> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>>>>> + $(QUIET_YACC)$(YACC) --no-lines -d -b y
>>>>> exp/expression-parser.y
>>>>>
>>>>> y.tab.h: y.tab.c
>>>>>
>>>>> (I cut and pasted the above, so it is probably not a well formatted
>>>>> patch anymore).
>>>>>
>>>>> That is, add " -b y " into the line for yacc. bison by default
>>>>> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>>>>> and xxx.tab.h, which makes more sense than what yacc does, but it's
>>>>> not what the makefile is expecting. The "-b y" tells bison to use "y"
>>>>> as the output file prefix, just as yacc normally does.
>>>>>
>>>>> then "make clean" and "make YACC=bison" and see if that works.
>>>>
>>>>
>>>> Should we default to using bison? Right now it checks for yacc first,
>>>> and
>>>> uses that if available. If not, it checks for bison and uses that.
>>>> Would be
>>>> easy enough to move around in configure.
>>>
>>> I'm not sure, I haven't proposed a real fix because I'm not sure what
>>> a real fix should look like. We're using %parse-param, and I think
>>> yacc, or bison doing an exceptionally good job of pretending to be
>>> yacc, can't handle that. I guess the versions of bison that I have
>>> seen do not do such a perfect job of pretending to be yacc, and allow
>>> %parse-params to work anyway. So the real fix might be to figure out
>>> how to get away without using %parse-param, so that yacc can deal with
>>> it.
>>>
>>> Or maybe we just require bison? Maybe nowadays everyone has bison?
>>
>> It's probably a safer choice than defaulting to yacc, me thinks... We'll
>> see how that goes. I might have to extend and improve it to check not
>> just if it's there, but if it actually works for our case as well. But
>> baby steps, perhaps this is enough.
>>
>>> Neto also mentioned that he wasn't able to build with arithmetic
>>> configured off. I didn't try to chase that down.
>>
>> I think that's a build issue due to hand editing stuff and attempting a
>> build. The current code builds fine if it's off, I definitely tested
>> that prior to pulling things in.
>>
>> --
>> Jens Axboe
>
>
>
> Hi Jens,
>
> This is neto from Brazil
>
> How are you?
>
> I have applied the latest commit.
>
> On MAC:
>
> Still getting warnings:
>
> YACC y.tab.c
> CC lex.yy.o
> lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
> (aka 'unsigned long *') to parameter of type 'int *'
> [-Wincompatible-pointer-types]
> ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
> lexer_input((buffer), &(bytes_read), (bytes_requested))
> ^~~~~~~~~~~~~
> exp/expression-parser.l:27:43: note: passing argument to parameter
> 'nbytes' here
> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
Should be better if you pull the latest. Let me know.
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 13:51 ` Neto, Antonio Jose Rodrigues
@ 2014-10-07 14:17 ` Jens Axboe
2014-10-07 14:29 ` Jens Axboe
0 siblings, 1 reply; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 14:17 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/07/2014 07:51 AM, Neto, Antonio Jose Rodrigues wrote:
>
>
> On 10/7/14, 9:39 AM, "Neto, Antonio Jose Rodrigues"
> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>
>>
>>
>> On 10/6/14, 10:18 PM, "Jens Axboe" <axboe@kernel.dk> wrote:
>>
>>> On 2014-10-06 19:26, Stephen Cameron wrote:
>>>> On Mon, Oct 6, 2014 at 8:10 PM, Jens Axboe <axboe@kernel.dk> wrote:
>>>>> On 2014-10-06 16:25, Stephen Cameron wrote:
>>>>>>
>>>>>> On Mon, Oct 6, 2014 at 5:10 PM, Neto, Antonio Jose Rodrigues
>>>>>> <Antonio.Jose.Rodrigues.Neto@netapp.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> [...]
>>>>>>>
>>>>>>>
>>>>>>> gcc -o lex.yy.o -std=gnu99 -Wwrite-strings -Wall
>>>>>>> -Wdeclaration-after-statement -O3 -g -ffast-math -D_GNU_SOURCE
>>>>>>> -include
>>>>>>> config-host.h -DBITS_PER_LONG=64
>>>>>>> -DFIO_VERSION='"fio-2.1.13-26-gb220c"'
>>>>>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL
>>>>>>> -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -c lex.yy.c
>>>>>>> exp/expression-parser.l:23:19: error: y.tab.h: No such file or
>>>>>>> directory
>>>>>>> exp/expression-parser.l: In function Œyylex¹:
>>>>>>> exp/expression-parser.l:51: error: Œyylval¹ undeclared (first use in
>>>>>>> this
>>>>>>> function)
>>>>>>> exp/expression-parser.l:51: error: (Each undeclared identifier is
>>>>>>> reported
>>>>>>> only once
>>>>>>> exp/expression-parser.l:51: error: for each function it appears in.)
>>>>>>> exp/expression-parser.l:52: error: ŒSUFFIX¹ undeclared (first use in
>>>>>>> this
>>>>>>> function)
>>>>>>> exp/expression-parser.l:122: error: ŒNUMBER¹ undeclared (first use
>>>>>>> in
>>>>>>> this
>>>>>>> function)
>>>>>>> make: *** [lex.yy.o] Error 1
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> Ok, hmm.
>>>>>>
>>>>>> Try making the following change to the Makefile:
>>>>>>
>>>>>> --- a/Makefile
>>>>>> +++ b/Makefile
>>>>>> @@ -277,7 +277,7 @@ y.tab.o: y.tab.c y.tab.h
>>>>>> $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
>>>>>>
>>>>>> y.tab.c: exp/expression-parser.y
>>>>>> - $(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
>>>>>> + $(QUIET_YACC)$(YACC) --no-lines -d -b y
>>>>>> exp/expression-parser.y
>>>>>>
>>>>>> y.tab.h: y.tab.c
>>>>>>
>>>>>> (I cut and pasted the above, so it is probably not a well formatted
>>>>>> patch anymore).
>>>>>>
>>>>>> That is, add " -b y " into the line for yacc. bison by default
>>>>>> doesn't produce y.tab.c y.tab.h, it produces from xxx.y -> xxx.tab.c
>>>>>> and xxx.tab.h, which makes more sense than what yacc does, but it's
>>>>>> not what the makefile is expecting. The "-b y" tells bison to use
>>>>>> "y"
>>>>>> as the output file prefix, just as yacc normally does.
>>>>>>
>>>>>> then "make clean" and "make YACC=bison" and see if that works.
>>>>>
>>>>>
>>>>> Should we default to using bison? Right now it checks for yacc first,
>>>>> and
>>>>> uses that if available. If not, it checks for bison and uses that.
>>>>> Would be
>>>>> easy enough to move around in configure.
>>>>
>>>> I'm not sure, I haven't proposed a real fix because I'm not sure what
>>>> a real fix should look like. We're using %parse-param, and I think
>>>> yacc, or bison doing an exceptionally good job of pretending to be
>>>> yacc, can't handle that. I guess the versions of bison that I have
>>>> seen do not do such a perfect job of pretending to be yacc, and allow
>>>> %parse-params to work anyway. So the real fix might be to figure out
>>>> how to get away without using %parse-param, so that yacc can deal with
>>>> it.
>>>>
>>>> Or maybe we just require bison? Maybe nowadays everyone has bison?
>>>
>>> It's probably a safer choice than defaulting to yacc, me thinks... We'll
>>> see how that goes. I might have to extend and improve it to check not
>>> just if it's there, but if it actually works for our case as well. But
>>> baby steps, perhaps this is enough.
>>>
>>>> Neto also mentioned that he wasn't able to build with arithmetic
>>>> configured off. I didn't try to chase that down.
>>>
>>> I think that's a build issue due to hand editing stuff and attempting a
>>> build. The current code builds fine if it's off, I definitely tested
>>> that prior to pulling things in.
>>>
>>> --
>>> Jens Axboe
>>
>>
>>
>> Hi Jens,
>>
>> This is neto from Brazil
>>
>> How are you?
>>
>> I have applied the latest commit.
>>
>> On MAC:
>>
>> Still getting warnings:
>>
>> YACC y.tab.c
>> CC lex.yy.o
>> lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
>> (aka 'unsigned long *') to parameter of type 'int *'
>> [-Wincompatible-pointer-types]
>> ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
>> lexer_input((buffer), &(bytes_read), (bytes_requested))
>> ^~~~~~~~~~~~~
>> exp/expression-parser.l:27:43: note: passing argument to parameter
>> 'nbytes' here
>> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
>> ^
>>
>>
>>
>> On Linux (RedHat 6.4)
>>
>> All good :-)
>>
>> Thank you,
>>
>> neto
>
> Hi Jens,
>
> This is neto from Brazil
>
> How are you?
>
> Another issue that I have realized, on RHEL the new tools t/dedupe works
> but it does not work on my mac.
>
> Seems to me that is related to YACC.
>
> Please see below:
>
> Nossa Senhora:fio neto$ make V=1 t/dedupe
> gcc -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -O3 -g
> -ffast-math -D_GNU_SOURCE -include config-host.h -DBITS_PER_LONG=64
> -DFIO_VERSION='"fio-2.1.13-31-g15e3"' -o t/dedupe -ll -lz -lm -lpthread
> -ldl
> Undefined symbols for architecture x86_64:
> "_yylex", referenced from:
> _main in libl.a(libmain.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> make: *** [t/dedupe] Error 1
>
> Any idea how to fix it?
It's only supported on Linux right now, it will be built automatically
there. Not really a design problem, it's just that it has the Linux
method for getting the size of a block device hard wired. I can fix that
pretty quickly.
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 14:17 ` Jens Axboe
@ 2014-10-07 14:29 ` Jens Axboe
2014-10-07 14:44 ` Neto, Antonio Jose Rodrigues
0 siblings, 1 reply; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 14:29 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/07/2014 08:17 AM, Jens Axboe wrote:
>> Please see below:
>>
>> Nossa Senhora:fio neto$ make V=1 t/dedupe
>> gcc -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -O3 -g
>> -ffast-math -D_GNU_SOURCE -include config-host.h -DBITS_PER_LONG=64
>> -DFIO_VERSION='"fio-2.1.13-31-g15e3"' -o t/dedupe -ll -lz -lm -lpthread
>> -ldl
>> Undefined symbols for architecture x86_64:
>> "_yylex", referenced from:
>> _main in libl.a(libmain.o)
>> ld: symbol(s) not found for architecture x86_64
>> clang: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> make: *** [t/dedupe] Error 1
>>
>> Any idea how to fix it?
>
> It's only supported on Linux right now, it will be built automatically
> there. Not really a design problem, it's just that it has the Linux
> method for getting the size of a block device hard wired. I can fix that
> pretty quickly.
I changed it to use the fio supplied blockdev_size(), so it should work
on all platforms now:
http://git.kernel.dk/?p=fio.git;a=commit;h=d08a6886fa57f819682f05548d284a079a99e77d
Pull, make clean, and make again. Should work on OSX and others now.
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 14:29 ` Jens Axboe
@ 2014-10-07 14:44 ` Neto, Antonio Jose Rodrigues
2014-10-07 14:55 ` Jens Axboe
0 siblings, 1 reply; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-07 14:44 UTC (permalink / raw)
To: Jens Axboe, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/7/14, 10:29 AM, "Jens Axboe" <axboe@kernel.dk> wrote:
>On 10/07/2014 08:17 AM, Jens Axboe wrote:
>>> Please see below:
>>>
>>> Nossa Senhora:fio neto$ make V=1 t/dedupe
>>> gcc -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement
>>>-O3 -g
>>> -ffast-math -D_GNU_SOURCE -include config-host.h -DBITS_PER_LONG=64
>>> -DFIO_VERSION='"fio-2.1.13-31-g15e3"' -o t/dedupe -ll -lz -lm
>>>-lpthread
>>> -ldl
>>> Undefined symbols for architecture x86_64:
>>> "_yylex", referenced from:
>>> _main in libl.a(libmain.o)
>>> ld: symbol(s) not found for architecture x86_64
>>> clang: error: linker command failed with exit code 1 (use -v to see
>>> invocation)
>>> make: *** [t/dedupe] Error 1
>>>
>>> Any idea how to fix it?
>>
>> It's only supported on Linux right now, it will be built automatically
>> there. Not really a design problem, it's just that it has the Linux
>> method for getting the size of a block device hard wired. I can fix that
>> pretty quickly.
>
>I changed it to use the fio supplied blockdev_size(), so it should work
>on all platforms now:
>
>http://git.kernel.dk/?p=fio.git;a=commit;h=d08a6886fa57f819682f05548d284a0
>79a99e77d
>
>Pull, make clean, and make again. Should work on OSX and others now.
>
>--
>Jens Axboe
>
Hi Jens,
This is neto from Brazil
How are you?
:-(
Trying with the latest commit on my mac.
CC lex.yy.o
lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
(aka 'unsigned long *') to parameter of type 'int *'
[-Wincompatible-pointer-types]
...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
lexer_input((buffer), &(bytes_read), (bytes_requested))
^~~~~~~~~~~~~
exp/expression-parser.l:27:43: note: passing argument to parameter
'nbytes' here
extern int lexer_input(char* buffer, int *nbytes, int buffersize);
^
1 warning generated.
CC y.tab.o
CC parse.o
CC mutex.o
CC options.o
CC lib/rbtree.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC lib/rand.o
CC lib/num2str.o
CC lib/ieee754.o
CC crc/crc16.o
CC crc/crc32.o
CC crc/crc32c-intel.o
CC crc/crc32c.o
CC crc/crc64.o
CC crc/crc7.o
CC crc/fnv.o
CC crc/md5.o
CC crc/murmur3.o
CC crc/sha1.o
CC crc/sha256.o
CC crc/sha512.o
CC crc/test.o
CC crc/xxhash.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC memalign.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC lib/prio_tree.o
CC json.o
CC lib/zipf.o
CC lib/axmap.o
CC lib/lfsr.o
CC gettime-thread.o
CC helpers.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/getrusage.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC lib/tp.o
CC lib/bloom.o
CC engines/posixaio.o
CC fio.o
LINK fio
CC t/stest.o
CC t/log.o
CC t/debug.o
LINK t/stest
CC t/ieee754.o
LINK t/ieee754
CC t/genzipf.o
LINK t/genzipf
CC t/axmap.o
LINK t/axmap
CC t/lfsr-test.o
LINK t/lfsr-test
CC t/dedupe.o
t/dedupe.c:14:10: fatal error: 'linux/fs.h' file not found
#include <linux/fs.h>
^
1 error generated.
make: *** [t/dedupe.o] Error 1
Nossa Senhora:fio neto$
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 14:44 ` Neto, Antonio Jose Rodrigues
@ 2014-10-07 14:55 ` Jens Axboe
2014-10-07 15:00 ` Neto, Antonio Jose Rodrigues
0 siblings, 1 reply; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 14:55 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/07/2014 08:44 AM, Neto, Antonio Jose Rodrigues wrote:
>
>
> On 10/7/14, 10:29 AM, "Jens Axboe" <axboe@kernel.dk> wrote:
>
>> On 10/07/2014 08:17 AM, Jens Axboe wrote:
>>>> Please see below:
>>>>
>>>> Nossa Senhora:fio neto$ make V=1 t/dedupe
>>>> gcc -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement
>>>> -O3 -g
>>>> -ffast-math -D_GNU_SOURCE -include config-host.h -DBITS_PER_LONG=64
>>>> -DFIO_VERSION='"fio-2.1.13-31-g15e3"' -o t/dedupe -ll -lz -lm
>>>> -lpthread
>>>> -ldl
>>>> Undefined symbols for architecture x86_64:
>>>> "_yylex", referenced from:
>>>> _main in libl.a(libmain.o)
>>>> ld: symbol(s) not found for architecture x86_64
>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>> invocation)
>>>> make: *** [t/dedupe] Error 1
>>>>
>>>> Any idea how to fix it?
>>>
>>> It's only supported on Linux right now, it will be built automatically
>>> there. Not really a design problem, it's just that it has the Linux
>>> method for getting the size of a block device hard wired. I can fix that
>>> pretty quickly.
>>
>> I changed it to use the fio supplied blockdev_size(), so it should work
>> on all platforms now:
>>
>> http://git.kernel.dk/?p=fio.git;a=commit;h=d08a6886fa57f819682f05548d284a0
>> 79a99e77d
>>
>> Pull, make clean, and make again. Should work on OSX and others now.
>>
>> --
>> Jens Axboe
>>
>
> Hi Jens,
>
> This is neto from Brazil
>
> How are you?
>
> :-(
>
> Trying with the latest commit on my mac.
>
> CC lex.yy.o
> lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
> (aka 'unsigned long *') to parameter of type 'int *'
> [-Wincompatible-pointer-types]
> ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
> lexer_input((buffer), &(bytes_read), (bytes_requested))
> ^~~~~~~~~~~~~
> exp/expression-parser.l:27:43: note: passing argument to parameter
> 'nbytes' here
> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
> ^
> 1 warning generated.
> CC y.tab.o
> CC parse.o
> CC mutex.o
> CC options.o
> CC lib/rbtree.o
> CC smalloc.o
> CC filehash.o
> CC profile.o
> CC debug.o
> CC lib/rand.o
> CC lib/num2str.o
> CC lib/ieee754.o
> CC crc/crc16.o
> CC crc/crc32.o
> CC crc/crc32c-intel.o
> CC crc/crc32c.o
> CC crc/crc64.o
> CC crc/crc7.o
> CC crc/fnv.o
> CC crc/md5.o
> CC crc/murmur3.o
> CC crc/sha1.o
> CC crc/sha256.o
> CC crc/sha512.o
> CC crc/test.o
> CC crc/xxhash.o
> CC engines/cpu.o
> CC engines/mmap.o
> CC engines/sync.o
> CC engines/null.o
> CC engines/net.o
> CC memalign.o
> CC server.o
> CC client.o
> CC iolog.o
> CC backend.o
> CC libfio.o
> CC flow.o
> CC cconv.o
> CC lib/prio_tree.o
> CC json.o
> CC lib/zipf.o
> CC lib/axmap.o
> CC lib/lfsr.o
> CC gettime-thread.o
> CC helpers.o
> CC lib/flist_sort.o
> CC lib/hweight.o
> CC lib/getrusage.o
> CC idletime.o
> CC td_error.o
> CC profiles/tiobench.o
> CC profiles/act.o
> CC io_u_queue.o
> CC filelock.o
> CC lib/tp.o
> CC lib/bloom.o
> CC engines/posixaio.o
> CC fio.o
> LINK fio
> CC t/stest.o
> CC t/log.o
> CC t/debug.o
> LINK t/stest
> CC t/ieee754.o
> LINK t/ieee754
> CC t/genzipf.o
> LINK t/genzipf
> CC t/axmap.o
> LINK t/axmap
> CC t/lfsr-test.o
> LINK t/lfsr-test
> CC t/dedupe.o
> t/dedupe.c:14:10: fatal error: 'linux/fs.h' file not found
> #include <linux/fs.h>
> ^
> 1 error generated.
> make: *** [t/dedupe.o] Error 1
> Nossa Senhora:fio neto$
t/dedupe should work now if you pull again. There's still some oddity
around the size_t - ignore that for now, it'll work, and we'll get it
sorted.
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 14:55 ` Jens Axboe
@ 2014-10-07 15:00 ` Neto, Antonio Jose Rodrigues
2014-10-07 15:11 ` Jens Axboe
0 siblings, 1 reply; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-07 15:00 UTC (permalink / raw)
To: Jens Axboe, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/7/14, 10:55 AM, "Jens Axboe" <axboe@kernel.dk> wrote:
>On 10/07/2014 08:44 AM, Neto, Antonio Jose Rodrigues wrote:
>>
>>
>> On 10/7/14, 10:29 AM, "Jens Axboe" <axboe@kernel.dk> wrote:
>>
>>> On 10/07/2014 08:17 AM, Jens Axboe wrote:
>>>>> Please see below:
>>>>>
>>>>> Nossa Senhora:fio neto$ make V=1 t/dedupe
>>>>> gcc -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement
>>>>> -O3 -g
>>>>> -ffast-math -D_GNU_SOURCE -include config-host.h -DBITS_PER_LONG=64
>>>>> -DFIO_VERSION='"fio-2.1.13-31-g15e3"' -o t/dedupe -ll -lz -lm
>>>>> -lpthread
>>>>> -ldl
>>>>> Undefined symbols for architecture x86_64:
>>>>> "_yylex", referenced from:
>>>>> _main in libl.a(libmain.o)
>>>>> ld: symbol(s) not found for architecture x86_64
>>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>>> invocation)
>>>>> make: *** [t/dedupe] Error 1
>>>>>
>>>>> Any idea how to fix it?
>>>>
>>>> It's only supported on Linux right now, it will be built automatically
>>>> there. Not really a design problem, it's just that it has the Linux
>>>> method for getting the size of a block device hard wired. I can fix
>>>>that
>>>> pretty quickly.
>>>
>>> I changed it to use the fio supplied blockdev_size(), so it should work
>>> on all platforms now:
>>>
>>>
>>>http://git.kernel.dk/?p=fio.git;a=commit;h=d08a6886fa57f819682f05548d284
>>>a0
>>> 79a99e77d
>>>
>>> Pull, make clean, and make again. Should work on OSX and others now.
>>>
>>> --
>>> Jens Axboe
>>>
>>
>> Hi Jens,
>>
>> This is neto from Brazil
>>
>> How are you?
>>
>> :-(
>>
>> Trying with the latest commit on my mac.
>>
>> CC lex.yy.o
>> lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t
>>*'
>> (aka 'unsigned long *') to parameter of type 'int *'
>> [-Wincompatible-pointer-types]
>> ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
>> lexer_input((buffer), &(bytes_read), (bytes_requested))
>> ^~~~~~~~~~~~~
>> exp/expression-parser.l:27:43: note: passing argument to parameter
>> 'nbytes' here
>> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
>> ^
>> 1 warning generated.
>> CC y.tab.o
>> CC parse.o
>> CC mutex.o
>> CC options.o
>> CC lib/rbtree.o
>> CC smalloc.o
>> CC filehash.o
>> CC profile.o
>> CC debug.o
>> CC lib/rand.o
>> CC lib/num2str.o
>> CC lib/ieee754.o
>> CC crc/crc16.o
>> CC crc/crc32.o
>> CC crc/crc32c-intel.o
>> CC crc/crc32c.o
>> CC crc/crc64.o
>> CC crc/crc7.o
>> CC crc/fnv.o
>> CC crc/md5.o
>> CC crc/murmur3.o
>> CC crc/sha1.o
>> CC crc/sha256.o
>> CC crc/sha512.o
>> CC crc/test.o
>> CC crc/xxhash.o
>> CC engines/cpu.o
>> CC engines/mmap.o
>> CC engines/sync.o
>> CC engines/null.o
>> CC engines/net.o
>> CC memalign.o
>> CC server.o
>> CC client.o
>> CC iolog.o
>> CC backend.o
>> CC libfio.o
>> CC flow.o
>> CC cconv.o
>> CC lib/prio_tree.o
>> CC json.o
>> CC lib/zipf.o
>> CC lib/axmap.o
>> CC lib/lfsr.o
>> CC gettime-thread.o
>> CC helpers.o
>> CC lib/flist_sort.o
>> CC lib/hweight.o
>> CC lib/getrusage.o
>> CC idletime.o
>> CC td_error.o
>> CC profiles/tiobench.o
>> CC profiles/act.o
>> CC io_u_queue.o
>> CC filelock.o
>> CC lib/tp.o
>> CC lib/bloom.o
>> CC engines/posixaio.o
>> CC fio.o
>> LINK fio
>> CC t/stest.o
>> CC t/log.o
>> CC t/debug.o
>> LINK t/stest
>> CC t/ieee754.o
>> LINK t/ieee754
>> CC t/genzipf.o
>> LINK t/genzipf
>> CC t/axmap.o
>> LINK t/axmap
>> CC t/lfsr-test.o
>> LINK t/lfsr-test
>> CC t/dedupe.o
>> t/dedupe.c:14:10: fatal error: 'linux/fs.h' file not found
>> #include <linux/fs.h>
>> ^
>> 1 error generated.
>> make: *** [t/dedupe.o] Error 1
>> Nossa Senhora:fio neto$
>
>t/dedupe should work now if you pull again. There's still some oddity
>around the size_t - ignore that for now, it'll work, and we'll get it
>sorted.
>
>--
>Jens Axboe
Hi Jens,
This is neto from Brazil
How are you?
All good with dedupe.
CC lex.yy.o
lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
(aka 'unsigned long *') to parameter of type 'int *'
[-Wincompatible-pointer-types]
YY_INPUT(
(&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
lexer_input((buffer), &(bytes_read), (bytes_requested))
^~~~~~~~~~~~~
exp/expression-parser.l:27:43: note: passing argument to parameter
'nbytes' here
extern int lexer_input(char* buffer, int *nbytes, int buffersize);
^
1 warning generated.
CC y.tab.o
CC parse.o
CC mutex.o
CC options.o
CC lib/rbtree.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC lib/rand.o
CC lib/num2str.o
CC lib/ieee754.o
CC crc/crc16.o
CC crc/crc32.o
CC crc/crc32c-intel.o
CC crc/crc32c.o
CC crc/crc64.o
CC crc/crc7.o
CC crc/fnv.o
CC crc/md5.o
CC crc/murmur3.o
CC crc/sha1.o
CC crc/sha256.o
CC crc/sha512.o
CC crc/test.o
CC crc/xxhash.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC memalign.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC lib/prio_tree.o
CC json.o
CC lib/zipf.o
CC lib/axmap.o
CC lib/lfsr.o
CC gettime-thread.o
CC helpers.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/getrusage.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC lib/tp.o
CC lib/bloom.o
CC engines/posixaio.o
CC fio.o
LINK fio
CC t/stest.o
CC t/log.o
CC t/debug.o
LINK t/stest
CC t/ieee754.o
LINK t/ieee754
CC t/genzipf.o
LINK t/genzipf
CC t/axmap.o
LINK t/axmap
CC t/lfsr-test.o
LINK t/lfsr-test
CC t/dedupe.o
LINK t/dedupe
Nossa Senhora:fio neto$ cd t
Nossa Senhora:t neto$ ./dedupe
Check for dedupable blocks on a device/file
./dedupe: [options] <device or file>
-b Chunk size to use
-t Number of threads to use
-d Full extent/chunk debug output
-o Use O_DIRECT
-c Full collision check
-B Use probabilistic bloom filter
-p Print progress indicator
Thank you,
neto
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 15:00 ` Neto, Antonio Jose Rodrigues
@ 2014-10-07 15:11 ` Jens Axboe
2014-10-07 15:14 ` Neto, Antonio Jose Rodrigues
0 siblings, 1 reply; 23+ messages in thread
From: Jens Axboe @ 2014-10-07 15:11 UTC (permalink / raw)
To: Neto, Antonio Jose Rodrigues, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/07/2014 09:00 AM, Neto, Antonio Jose Rodrigues wrote:
> CC lex.yy.o
> lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t *'
> (aka 'unsigned long *') to parameter of type 'int *'
> [-Wincompatible-pointer-types]
> YY_INPUT(
> (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
> lexer_input((buffer), &(bytes_read), (bytes_requested))
> ^~~~~~~~~~~~~
> exp/expression-parser.l:27:43: note: passing argument to parameter
> 'nbytes' here
> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
OK, try and re-pull, I think I fixed the size_t issue as well now. This
is the commit:
http://git.kernel.dk/?p=fio.git;a=commit;h=3fcc6ca7f15db70b9f82df1f9065765b4cca4e9d
--
Jens Axboe
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: YACC y.tab.c Usage: /usr/bin/yacc [options] filename
2014-10-07 15:11 ` Jens Axboe
@ 2014-10-07 15:14 ` Neto, Antonio Jose Rodrigues
0 siblings, 0 replies; 23+ messages in thread
From: Neto, Antonio Jose Rodrigues @ 2014-10-07 15:14 UTC (permalink / raw)
To: Jens Axboe, Stephen Cameron; +Cc: fio@vger.kernel.org
On 10/7/14, 11:11 AM, "Jens Axboe" <axboe@kernel.dk> wrote:
>On 10/07/2014 09:00 AM, Neto, Antonio Jose Rodrigues wrote:
>> CC lex.yy.o
>> lex.yy.c:1231:3: warning: incompatible pointer types passing 'yy_size_t
>>*'
>> (aka 'unsigned long *') to parameter of type 'int *'
>> [-Wincompatible-pointer-types]
>> YY_INPUT(
>> (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
>>
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> exp/expression-parser.l:31:25: note: expanded from macro 'YY_INPUT'
>> lexer_input((buffer), &(bytes_read), (bytes_requested))
>> ^~~~~~~~~~~~~
>> exp/expression-parser.l:27:43: note: passing argument to parameter
>> 'nbytes' here
>> extern int lexer_input(char* buffer, int *nbytes, int buffersize);
>
>OK, try and re-pull, I think I fixed the size_t issue as well now. This
>is the commit:
>
>http://git.kernel.dk/?p=fio.git;a=commit;h=3fcc6ca7f15db70b9f82df1f9065765
>b4cca4e9d
>
>--
>Jens Axboe
>
Hi Jens,
This is neto from Brazil
How are you?
That is why I love FIO.
All good my friend,
Thanks
neto
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2014-10-07 15:14 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-06 21:12 YACC y.tab.c Usage: /usr/bin/yacc [options] filename Neto, Antonio Jose Rodrigues
2014-10-06 21:44 ` Stephen Cameron
[not found] ` <D05885C8.51DCC%Antonio.Jose.Rodrigues.Neto@netapp.com>
2014-10-06 22:04 ` Stephen Cameron
2014-10-06 22:10 ` Neto, Antonio Jose Rodrigues
2014-10-06 22:25 ` Stephen Cameron
2014-10-06 22:28 ` Neto, Antonio Jose Rodrigues
2014-10-06 22:31 ` Stephen Cameron
2014-10-07 1:18 ` Jens Axboe
2014-10-07 1:10 ` Jens Axboe
2014-10-07 1:26 ` Stephen Cameron
2014-10-07 2:18 ` Jens Axboe
2014-10-07 13:39 ` Neto, Antonio Jose Rodrigues
2014-10-07 13:51 ` Neto, Antonio Jose Rodrigues
2014-10-07 14:17 ` Jens Axboe
2014-10-07 14:29 ` Jens Axboe
2014-10-07 14:44 ` Neto, Antonio Jose Rodrigues
2014-10-07 14:55 ` Jens Axboe
2014-10-07 15:00 ` Neto, Antonio Jose Rodrigues
2014-10-07 15:11 ` Jens Axboe
2014-10-07 15:14 ` Neto, Antonio Jose Rodrigues
2014-10-07 14:16 ` Jens Axboe
2014-10-06 22:34 ` Bruce Cran
2014-10-06 23:02 ` Stephen Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox