LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   How do I resolve errors reported by make? (https://www.linuxquestions.org/questions/linux-software-2/how-do-i-resolve-errors-reported-by-make-747976/)

qlue 08-16-2009 03:03 PM

How do I resolve errors reported by make?
 
I'm trying to install the Frodo C64 emulator on an Acer Aspire One running Linpus Linux Lite (Fedora 8 core)
I've managed to get as far as installing the required compilers and installing 'make' using pirut.
but when I try to make this package, I get tons of errors that appear to be syntax related (i.e. they look like programming errors in the source file).:scratch:
I'm not sure how to resolve these errors in order to complete the build process. can anyone help with this? :frustrated:

Nylex 08-16-2009 03:08 PM

Could you post the errors? It's difficult to help without seeing them. The topmost error usually gives the biggest hint, but posting all of them is ok (as long as they're not very similar. If that's the case, then just post a few from the top).

windtalker10 08-16-2009 03:52 PM

From the Frodo homepage:

Quote:

For Unix users, there is an autogen.sh script that creates the files necessary for building which are not in CVS./
Did you try running the script?

bash-3.1$ cd /path/to/script
bash-3.1$ sh autogen.sh

A lack of dependencies are normally why an install fails.
Your post alludes to your installing from source.
./configure would stop at any errors and give an indication of what is missing as well.
There should also be a message explicitly stating make can now be run if ./configure is successful.

::: 08-16-2009 04:20 PM

1. are you trying to compile from source?
2. if yes, does the package use GNU autoconf (in other words: do you see files like configure, autogen.sh, Makefile)?
3. if so, do you have GNU autoconf and GNU make installed?
4. have you configured the source before you tried to "make" it?
5. is there a README file distributed with the source (if so read it)

general procedure to compile from source:
Code:

$ ./configure
$ make
# make install

the last command as root ('#') if you did not specify a special "--prefix" option. if you don't know what this is then you haven't.

"configure" will tell you if all the stuff which is needed to compile the source is in it's place. if make still gives errors there can be many reasons but it's most likely a bug. google it, there's probably a workaround. if not try older/newer versions of the program that caused the error. also, there's probably a precompiled version. try it :::

qlue 08-17-2009 09:02 PM

errors reported by make
 
I configured without problems.
here are the errors I received after typing make
Code:

Configuration done. Now type "make".
[user@localhost Src]$ make
cc  -O2 -g -fomit-frame-pointer -Wall -Wno-unused -Wno-format -D__svgalib__ -fno-strength-reduce -DREGPARAM="__attribute__((regparm(3)))" -I./ -DFRODO_HPUX_REV=0 -DKBD_LANG=0 -o main.o -c main.cpp
cc  -O2 -g -fomit-frame-pointer -Wall -Wno-unused -Wno-format -D__svgalib__ -fno-strength-reduce -DREGPARAM="__attribute__((regparm(3)))" -I./ -DFRODO_HPUX_REV=0 -DKBD_LANG=0 -o Display.o -c Display.cpp
In file included from Display.cpp:79:
Display_svga.i:156:1: warning: "KEY_F10" redefined
In file included from /usr/include/linux/joystick.h:33,
                from sysdeps.h:115,
                from Display.cpp:7:
/usr/include/linux/input.h:183:1: warning: this is the location of the previous definition
In file included from Display.cpp:79:
Display_svga.i:157:1: warning: "KEY_F11" redefined
In file included from /usr/include/linux/joystick.h:33,
                from sysdeps.h:115,
                from Display.cpp:7:
/usr/include/linux/input.h:202:1: warning: this is the location of the previous definition
In file included from Display.cpp:79:
Display_svga.i:158:1: warning: "KEY_F12" redefined
In file included from /usr/include/linux/joystick.h:33,
                from sysdeps.h:115,
                from Display.cpp:7:
/usr/include/linux/input.h:203:1: warning: this is the location of the previous definition
In file included from Display.cpp:79:
Display_svga.i:166:1: warning: "KEY_NUMLOCK" redefined
In file included from /usr/include/linux/joystick.h:33,
                from sysdeps.h:115,
                from Display.cpp:7:
/usr/include/linux/input.h:184:1: warning: this is the location of the previous definition
In file included from Display.cpp:79:
Display_svga.i:168:1: warning: "KEY_KPPLUS" redefined
In file included from /usr/include/linux/joystick.h:33,
                from sysdeps.h:115,
                from Display.cpp:7:
/usr/include/linux/input.h:193:1: warning: this is the location of the previous definition
In file included from Display.cpp:79:
Display_svga.i:169:1: warning: "KEY_KPMINUS" redefined
In file included from /usr/include/linux/joystick.h:33,
                from sysdeps.h:115,
                from Display.cpp:7:
/usr/include/linux/input.h:189:1: warning: this is the location of the previous definition
Display_svga.i:140: error: ‘UBYTE’ does not name a type
Display_svga.i: In function ‘void my_kbd_handler(int, int)’:
Display_svga.i:360: error: ‘key_matrix’ was not declared in this scope
Display_svga.i:361: error: ‘rev_matrix’ was not declared in this scope
Display_svga.i:363: error: ‘key_matrix’ was not declared in this scope
Display_svga.i:364: error: ‘rev_matrix’ was not declared in this scope
Display_svga.i:399: error: ‘key_matrix’ was not declared in this scope
Display_svga.i:400: error: ‘rev_matrix’ was not declared in this scope
Display_svga.i:402: error: ‘key_matrix’ was not declared in this scope
Display_svga.i:403: error: ‘rev_matrix’ was not declared in this scope
Display_svga.i: In function ‘int init_graphics()’:
Display_svga.i:471: error: ‘key_matrix’ was not declared in this scope
Display_svga.i:472: error: ‘rev_matrix’ was not declared in this scope
Display_svga.i: In member function ‘void C64Display::Update()’:
Display_svga.i:485: error: invalid conversion from ‘char*’ to ‘unsigned char*’
Display_svga.i:485: error:  initializing argument 2 of ‘int vga_drawscanline(int, unsigned char*)’
Display_svga.i: At global scope:
Display_svga.i:490: error: expected constructor, destructor, or type conversion before ‘*’ token
Display_svga.i:502: error: variable or field ‘PollKeyboard’ declared void
Display_svga.i:502: error: ‘int C64Display::PollKeyboard’ is not a static member of ‘class C64Display’
Display_svga.i:502: error: ‘UBYTE’ was not declared in this scope
Display_svga.i:502: error: ‘CIA_key_matrix’ was not declared in this scope
Display_svga.i:502: error: ‘UBYTE’ was not declared in this scope
Display_svga.i:502: error: ‘CIA_rev_matrix’ was not declared in this scope
Display_svga.i:502: error: ‘UBYTE’ was not declared in this scope
Display_svga.i:502: error: ‘joystick’ was not declared in this scope
Display_svga.i:502: error: initializer expression list treated as compound expression
Display_svga.i:503: error: expected ‘,’ or ‘;’ before ‘{’ token
Display_svga.i:537: error: variable or field ‘InitColors’ declared void
Display_svga.i:537: error: ‘int C64Display::InitColors’ is not a static member of ‘class C64Display’
Display_svga.i:537: error: ‘UBYTE’ was not declared in this scope
Display_svga.i:537: error: ‘colors’ was not declared in this scope
Display_svga.i:538: error: expected ‘,’ or ‘;’ before ‘{’ token
make: *** [Display.o] Error 1
[user@localhost Src]$

I hope that someone can help me resolve this:scratch:

i92guboj 08-17-2009 09:44 PM

That looks like an issue with your kernel headers. It could be an incompatible version of gcc as well, I guess. Specific issues like this one are better adressed by the programmers who created the program. In your case, I'd start looking at the web site of the emulator, look for forums, mailing lists or something like that.

It's hard to tell without being familiar with the code, and if there's an issue with kernel headers or gcc versions they will know for sure.

::: 08-18-2009 04:46 AM

for me it compiled flawlessly (although giving a lot of warning messages but that no problem).

your problem seems to be with svgalib. forget it, try X instead ("--with-x" option). install guide says type "make all" instead of just "make" as you did. i tried both and both worked for me. still, give "make all" a try.

Fordo (v. 4.1b) uses these libs:
Code:

$ ldd ./Frodo
        linux-gate.so.1 =>  (0xffffe000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7e6d000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7e45000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7d5f000)
        libm.so.6 => /lib/libm.so.6 (0xb7d39000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7d2e000)
        libc.so.6 => /lib/libc.so.6 (0xb7be2000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7bdd000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7af6000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7ae8000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7ae2000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7ada000)
        libvga.so.1 => /usr/lib/libvga.so.1 (0xb7a5e000)
        /lib/ld-linux.so.2 (0xb7f23000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7a5b000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7a44000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7a41000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7a3c000)

check these libraries. do you have them?

btw what version do you have? try another one if it does not work for you. in case nothing helps go to the Frodo homepage and write to the authors. the bug list is not very large and your problem is not listed there.

good luck :::


All times are GMT -5. The time now is 04:17 AM.