Menu

#785 VICE monitor fails -- configure it as a with / without feature?

v2.4.x
closed-fixed
nobody
monitor (1)
Linux
2016-10-22
2016-09-04
No

Latest source compile fails to build on Fedora 24 Linux these past couple of weeks; and not the first time I've experienced this complex module not passing cross-platform builds from committed source. As an old 8-bit programmer, I find the built-in monitor/debugger useful at times to have, but not at the expense of all VICE machines with the 100s of VICE runtime features I want to enjoy, i.e., Ultimem on VIC.

For those users (which should be nearly ALL of them except a handful) that won't be using this programmer convenience, does it make sense to make this a configure option, --with-monitor / --without-monitor, and bypass advanced compile-time dependencies?

Making install in monitor
mon_parse.y:1046:2: error: #else without #if
 {
  ^   
mon_parse.y: In function parse_and_execute_line:
mon_parse.y:1049:5: error: expected =, ,, ;’, ‘asm’ or ‘__attribute__’ before ‘FILE’

     ^   
mon_parse.y:1052:2: error: #endif without #if
    i = (int)strlen(input);
  ^ ~~~
mon_parse.y:1045:6: error: old-style parameter declarations in prototyped function definition
 void parse_and_execute_line(char *input)
      ^~~~~~~~~~~~~~~~~~~~~~
mon_parse.y: At top level:
mon_parse.y:1129:2: error: #else without #if
    /* FIXME: Handle cases when default type is non-numerical */
  ^ ~~
mon_parse.y: In function yyerror:
mon_parse.y:1132:5: error: expected =, ,, ;’, ‘asm’ or ‘__attribute__’ before ‘yytype_int16’
    }
     ^           
mon_parse.y:1133:5: error: unknown type name yytype_int16

     ^           
mon_parse.y:1134:2: error: #endif without #if
    if ((guess_type == D_NUMBER) || (default_radix == e_decimal)) {
  ^ ~~~
mon_parse.y:1128:12: error: old-style parameter declarations in prototyped function definition
 {
            ^      
mon_parse.y: At top level:
mon_parse.y:1166:2: error: #else without #if
             start[4] = '\0';
  ^   
mon_parse.y: In function resolve_range:
mon_parse.y:1169:5: error: expected =, ,, ;’, ‘asm’ or ‘__attribute__’ before ‘char’
             sa = strtol(start, NULL, 16);
     ^   
mon_parse.y:1171:2: error: #endif without #if
         }
  ^    
mon_parse.y:1164:12: error: old-style parameter declarations in prototyped function definition
         if (strlen(num) == 8) {
            ^~~~~~~~~~~~~
mon_parse.c: In function yydestruct:
mon_parse.c:1705:10: error: data undeclared (first use in this function)
     data->s_mark = newss + i;
          ^~~~
mon_parse.c:1705:10: note: each undeclared identifier is reported only once for each function it appears in
mon_parse.c: At top level:
mon_parse.c:1709:2: error: #else without #if
         return YYENOMEM;
  ^   
mon_parse.c:1711:2: error: #endif without #if
     data->l_base = newvs;
  ^  ~~
mon_parse.c:1733:1: error: expected identifier or ( before ‘{’ token
 }
 ^
mon_parse.c:1699:1: warning: yydestruct defined but not used [-Wunused-function]
     i = (int) (data->s_mark - data->s_base);
 ^   ~~~~~~
mon_parse.c:1660:12: warning: yygrowstack defined but not used [-Wunused-function]
        sa = strtol(num, NULL, 8);
            ^~~~~~~~~~~
mon_parse.y:1164:12: warning: resolve_range defined but not used [-Wunused-function]
         if (strlen(num) == 8) {
            ^~~~~~~~~~~~~
mon_parse.y:1140:12: warning: resolve_datatype defined but not used [-Wunused-function]
    }
            ^               
mon_parse.y:1128:12: warning: yyerror defined but not used [-Wunused-function]
 {
            ^      
mon_parse.c:1496:20: warning: yystack defined but not used [-Wunused-variable]
     YYINT    *s_mark;
                    ^~     
mon_parse.c:1147:26: warning: yyrule defined but not used [-Wunused-const-variable=]
 "REG_IYL","PLUS","MINUS","STRING","FILENAME","R_O_L","OPCODE","LABEL",
                          ^~~~~~
mon_parse.c:1107:26: warning: yyname defined but not used [-Wunused-const-variable=]
 #define YYDEBUG 1
                          ^     
mon_parse.c:870:20: warning: yycheck defined but not used [-Wunused-const-variable=]
     0,    0,    0,    0,    0,    0,    0,    0,    0,  155,
                    ^~~~~~~
mon_parse.c:641:20: warning: yytable defined but not used [-Wunused-const-variable=]
   -17,   61,  306,  103,  -44, 1550,    0,  -10,    0, -311,
                    ^~~~~~~
mon_parse.c:632:20: warning: yygindex defined but not used [-Wunused-const-variable=]
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
                    ^~~~~~~~
mon_parse.c:568:20: warning: yyrindex defined but not used [-Wunused-const-variable=]
     0,    0,    0,    0,    0,    0,    0,  173,  -60,  -51,
                    ^~~~~~~~
mon_parse.c:504:20: warning: yysindex defined but not used [-Wunused-const-variable=]
   125,  273,  126,  160,  161,  153,  180,  181,  127,   93,
                    ^~~~~~~~
mon_parse.c:496:20: warning: yydgoto defined but not used [-Wunused-const-variable=]
   143,  126,   86,   87,  154,  156,   62,    0,    0,    0,
                    ^~~~~~~
mon_parse.c:432:20: warning: yydefred defined but not used [-Wunused-const-variable=]
     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    ^~~~~~~~
mon_parse.c:398:20: warning: yylen defined but not used [-Wunused-const-variable=]
    29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
                    ^~~~~
mon_parse.c:364:20: warning: yylhs defined but not used [-Wunused-const-variable=]
 #define CMD_CHECKPT_ON 413
                    ^~~~~
mon_parse.y:92:12: warning: temp defined but not used [-Wunused-variable]
 static int temp;
            ^~~~
Makefile:606: recipe for target 'mon_parse.o' failed
make[5]: *** [mon_parse.o] Error 1

Discussion

  • gpz

    gpz - 2016-09-04

    not sure how you managed to get this error at install stage.... could you please give the exact configure line you used and the exact command(s) used to compile? also please attach configure.log. this really should work :)

     
  • Robert Hurst

    Robert Hurst - 2016-09-04

    It fails the same (with the required libXaw-devel package installed) for a generic make distclean, ./configure, and make. But, I generally use:

    make distclean
    ./configure --enable-external-ffmpeg --enable-lame --disable-quicktime --disable-midi --enable-rs232 --disable-vte --enable-realdevice --enable-gnomeui --enable-fullscreen --without-oss --with-pulse --without-sdlsound --with-resid --enable-ethernet --disable-ipv6 --without-uithreads -disable-debug --disable-debug-code || exit
    time make -j13 # || exit
    
     
  • Robert Hurst

    Robert Hurst - 2016-09-04

    Egad, I should have dropped the source tree again before posting this. Is there a more preferable way to checkout source (without re-downloading it) than this?
    svn checkout svn://svn.code.sf.net/p/vice-emu/code/trunk vice-emu

     
  • gpz

    gpz - 2016-09-04

    no, "checkout" pretty much means downloading with svn (there is no local copy of the repo like with eg git)

     
  • gpz

    gpz - 2016-09-04

    mmh that said, i cant even get past configure stage here , fails with

    configure: error: C++ preprocessor "/lib/cpp" fails sanity check

    (using fedora 24 64bit from osboxes.org)

     
  • Greg King

    Greg King - 2016-09-04

    Did you try Subversion-reverting "mon_parse.y", first (maybe, only the working copy of that file was corrupt)?

     
  • compyx

    compyx - 2016-09-08

    I just compiled VICE on Fedora 24 with the same configure line except I changed --enable-shared-ffmpeg to --enable-static--ffmeg (shouldn't matter).

    Works fine for me. I had to dnf install gcc-c++ to get rid of the /lib/cpp message, apparently Fedora doesn't install g++ by default.

    Perhaps just remove the entire SVN copy (rm -rfd) and checkout again. Then just run each command (autogen, configure, make) separately. And if anything fails, post those errors here. Especially config.log would be of help.

    Update: this should give us a lot of information:

    ./configure -v [your configure flags] 2>&1 | tee config2.log
    make 2>&1 | tee make.log

    And then just attach config.log, config2.log and make.log to your message.

     

    Last edit: compyx 2016-09-08
  • compyx

    compyx - 2016-10-22
    • status: open --> closed-fixed
     
  • compyx

    compyx - 2016-10-22

    I'm closing this bug as well, no response. And I managed to compile and run VICE just fine on the latest Fedora. As for the request to be able to enable/disable the monitor, I don't agree with the assertion that only a few people use it.

     

Log in to post a comment.