Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Build from source doesn't work anymore #17

@n3b0j5a

Description

@n3b0j5a

Build from source fails on Arch Linux (probably due to newer build tools) with following error:

bison version: 3.8.2
gcc: 15.2.1 20250813

$make
bison -ld -o pcalc.c pcalc.y
pcalc.y: warning: 67 shift/reduce conflicts [-Wconflicts-sr]
pcalc.y: warning: 37 reduce/reduce conflicts [-Wconflicts-rr]
pcalc.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
pcalc.y:75.13-16: warning: rule useless in parser due to conflicts [-Wother]
   75 |         |   list
      |             ^~~~
cc -ggdb -Wall -DVERSION='"6"'  -c -o pcalc.o pcalc.c
pcalc.c: In function ‘yyparse’:
pcalc.c:1224:40: error: too many arguments to function ‘(yyvsp + -16)->sym->u.iptr’; expected 0, have 1
 1224 |                                     { (*((yyvsp[-1].sym)->u.iptr))((yyvsp[0].sym)->u.str) ; }
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
In file included from pcalc.c:102:
symbol.h:17:25: note: declared here
   17 |                int    (*iptr)();          /* if IBUILTIN */
      |                         ^~~~
pcalc.c:1232:40: error: too many arguments to function ‘(yyvsp + -16)->sym->u.iptr’; expected 0, have 1
 1232 |                                     { (*((yyvsp[-1].sym)->u.iptr))((yyvsp[0].sym)->u.val) ; }
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
symbol.h:17:25: note: declared here
   17 |                int    (*iptr)();          /* if IBUILTIN */
      |                         ^~~~
pcalc.c:1236:40: error: too many arguments to function ‘(yyvsp + -16)->sym->u.iptr’; expected 0, have 1
 1236 |                                     { (*((yyvsp[-1].sym)->u.iptr))((yyvsp[0].val)) ;       }
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
symbol.h:17:25: note: declared here
   17 |                int    (*iptr)();          /* if IBUILTIN */
      |                         ^~~~
pcalc.c:1260:54: error: too many arguments to function ‘(yyvsp + -48)->sym->u.ptr’; expected 0, have 1
 1260 |                                     { (yyval.val) = (*((yyvsp[-3].sym)->u.ptr))((yyvsp[-1].val)) ; }
      |                                                     ~^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
symbol.h:16:30: note: declared here
   16 |                long double (*ptr)();      /* if BUILTIN */
      |                              ^~~
pcalc.c:1264:54: error: too many arguments to function ‘(yyvsp + -16)->sym->u.ptr’; expected 0, have 1
 1264 |                                     { (yyval.val) = (*((yyvsp[-1].sym)->u.ptr))((yyvsp[0].val)) ; }
      |                                                     ~^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
symbol.h:16:30: note: declared here
   16 |                long double (*ptr)();      /* if BUILTIN */
      |                              ^~~
make: *** [<builtin>: pcalc.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions