Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

GCC Compile Error - Latest SVN Build

GLtron
2007-05-31
2012-09-15
  • MMC_physorg
    MMC_physorg
    2007-05-31

    Hi guys,

    I downloaded the latest build last night and tried to compile it under Fedora Core 6. I'm using GCC 4.1.1 and I came across a number of compiler errors. The first few were simple formatting requiring a new line to be added after #endif statements.

    I'm now getting this error:

    In file included from artpack.c:1:
    ../../src/include/video/video.h:26: error: redefinition of typedef ‘PlayerVisual’
    ../../src/include/game/camera.h:6: error: previous declaration of ‘PlayerVisual’ was here
    make[2]: [artpack.o] Error 1
    make[2]: Leaving directory /home/alpha/Games/gltron/trunk/src/video' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/alpha/Games/gltron/trunk/src'
    make:
    [all-recursive] Error 1

    As far as I can tell (my C is rusty), GCC feels that the struct PlayerVisual has been duplicated. It doesn't seem to be using the namespaces to isolate the declarations.

    Any ideas?

     
    • MMC_physorg
      MMC_physorg
      2007-06-05

      Well, I'm running Beryl via Xgl with no problems and every other opengl application works fine too. Even the opengl screensavers work and it doesn't crash or hang. This issue is isolated to the svn release of gltron. Earlier versions of gltron work perfectly.

      Make sure you run SELinux when trying to replicate.

       
    • Andreas Umbach
      Andreas Umbach
      2007-05-31

      I have noticed this error too last time I checked out, and I dimly remember fixing it, but apparently I haven't checked in those changes yet.

      I currently only run linux inside VMware and the VM in question is at home, I'll hopefully check in those changes later tonight.

      • Andreas
       
    • MMC_physorg
      MMC_physorg
      2007-05-31

      Just ran an update and no change on the error. Please let me know when you have added the changes.

      This is the version I have at the moment:

      Path: .
      URL: svn://svn.berlios.de/gltron/trunk
      Repository Root: svn://svn.berlios.de/gltron
      Repository UUID: d59df3ee-ebeb-0310-b30c-cf35f2f2dcf8
      Revision: 2080
      Node Kind: directory
      Schedule: normal
      Last Changed Author: andi75
      Last Changed Rev: 2080
      Last Changed Date: 2007-05-31 17:26:29 +0800 (Thu, 31 May 2007)
      Properties Last Updated: 2007-05-31 02:39:31 +0800 (Thu, 31 May 2007)

      One other thing, your site www.gltron.org, makes no mention of the svn or Berlios. It took me ages to track down this version. All rpms or tarballs are of the 0.70/0.70-2 version. I think it would be good to release a stable build for both Windows and Linux from the download section.

       
      • Andreas Umbach
        Andreas Umbach
        2007-05-31

        ok, it's checked in...It compiles now, but no guarantees it's actually working

        Try

        ./configure --local-data

        otherwise you'll have to do a make install for the game to find the data files.

        • Andreas
         
    • MMC_physorg
      MMC_physorg
      2007-06-01

      I can get it to work by adding a few symlinks. When I try to run full screen it just quits and leaves the folowing message in the console:

      ignoring (0,0) initial window position - feature not implemented
      GL vendor: ATI Technologies Inc.
      GL renderer: ATI Mobility Radeon X1300
      GL version: 2.0.6458 (8.36.5)
      Bitdepth:
      Red: 8
      Green: 8
      Blue: 8
      Alpha: 8
      can't set reshape function (0x8055687) - feature not supported
      Segmentation fault

      Why is it using 8 bit???

      I'm trying to run the help command, but it fails with:

      gltron: debug_memory.c:28: nebu_assert_int: Assertion `value' failed.
      Aborted

       
      • Andreas Umbach
        Andreas Umbach
        2007-06-01

        It's using 8 bit per color channel, four channels make a total of 32bit, so that's fine.

        About the assert, I guess that's from some missing data files. I assume some Makefile.am is broken, and hence not all data files got installed (you shouldn't have to make any symlinks).

        Try this:

        cd path/to/src
        ./configure --enable-localdata
        make clean
        make
        ./gltron

        • Andreas
         
    • MMC_physorg
      MMC_physorg
      2007-06-01

      The symlinks were to allow version 0.70-2 to run. They pointed to libmikmod and SDL sound. I didn't check if they were required for the latest build.

      I think it is best to trace through this from the beginning. I'll start with autoconf:

      autoconf -W all -o error configure.in

      configure.in:26: warning: The macro AC_HELP_STRING' is obsolete. configure.in:26: You should run autoupdate. autoconf/general.m4:219: AC_HELP_STRING is expanded from... configure.in:26: the top level configure.in:33: warning: The macroAC_HELP_STRING' is obsolete.
      configure.in:33: You should run autoupdate.
      configure.in:33: the top level
      configure.in:41: warning: The macro AC_HELP_STRING' is obsolete. configure.in:41: You should run autoupdate. configure.in:41: the top level configure.in:52: warning: The macroAC_HELP_STRING' is obsolete.
      configure.in:52: You should run autoupdate.
      configure.in:52: the top level
      configure.in:71: warning: The macro AC_HELP_STRING' is obsolete. configure.in:71: You should run autoupdate. configure.in:71: the top level configure.in:77: warning: The macroAC_HELP_STRING' is obsolete.
      configure.in:77: You should run autoupdate.
      configure.in:77: the top level
      configure.in:83: warning: The macro AC_HELP_STRING' is obsolete. configure.in:83: You should run autoupdate. configure.in:83: the top level configure.in:89: warning: The macroAC_HELP_STRING' is obsolete.
      configure.in:89: You should run autoupdate.
      configure.in:89: the top level
      configure.in:112: warning: The macro `AC_HELP_STRING' is obsolete.
      configure.in:112: You should run autoupdate.
      configure.in:112: the top level
      configure.in:195: warning: AC_OUTPUT should be used without arguments.
      configure.in:195: You should run autoupdate.
      configure.in:7: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
      configure.in:61: error: possibly undefined macro: AM_PATH_SDL

      After running autoupdate:

      autoupdate configure.in

      autoconf -W all -o error configure.in

      configure.in:8: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
      configure.in:62: error: possibly undefined macro: AM_PATH_SDL

       
      • Andreas Umbach
        Andreas Umbach
        2007-06-01

        > Lots of warnings

        I guess these can be safely ignored.

        > configure.in:7: error: possibly undefined macro: AM_INIT_AUTOMAKE

        Hm, in old versions of autoconf, this was required. Possibly it has become obsolete?

        > configure.in:61: error: possibly undefined macro: AM_PATH_SDL

        This is serious. AM_PATH_SDL is a macro provided by SDL, and, if SDL was installed by the user and not by the package manager, typically lives in

        /usr/local/share/aclocal/sdl.m4

        For reasons unknown to me, autoconf refuses to look into /usr/local/share/aclocal, which is why on my system I usually symlink the whole directory to /usr/share/aclocal. Alternatively, you can just copy the m4 file.

        • Andreas
         
    • MMC_physorg
      MMC_physorg
      2007-06-01

      Trying to correct the following:

      autoconf -W all -o error configure.in

      configure.in:8: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
      configure.in:62: error: possibly undefined macro: AM_PATH_SDL

      Adding m4_pattern_allow to the configure.in results in autogen.sh breaks creation of the configure and make. It doesn't recognise the lines. It builds sucessfully without it.

      Trying to run gltron with any command line args results in the following error:

      gltron: debug_memory.c:28: nebu_assert_int: Assertion `value' failed.
      Aborted

      Trying to apply the changes to fullscreen mode, or resolution, results in this error:

      [script] calling action of 'Apply', type 7
      ignoring (0,0) initial window position - feature not implemented
      GL vendor: ATI Technologies Inc.
      GL renderer: ATI Mobility Radeon X1300
      GL version: 2.0.6458 (8.36.5)
      Bitdepth:
      Red: 8
      Green: 8
      Blue: 8
      Alpha: 8
      can't set reshape function (0x8055687) - feature not supported
      Segmentation fault

       
    • MMC_physorg
      MMC_physorg
      2007-06-01

      sdl.m4 is located here on Fedore Core 6:

      /usr/share/aclocal/sdl.m4

      If I wrap that line in a m4_pattern_allow, then it can't find what appears to be keyboard events during the build. I can't quite remember, it broke SDL during the make process anyway. So, at least that tells us it is being used and functions.

       
    • MMC_physorg
      MMC_physorg
      2007-06-04

      Hi Andreas,

      Anything new on these errors:

      1. Trying to run gltron with any command line args results in the following error:

      gltron: debug_memory.c:28: nebu_assert_int: Assertion `value' failed.
      Aborted

      1. Trying to apply the changes to fullscreen mode, or resolution, results in this error:

      [script] calling action of 'Apply', type 7
      ignoring (0,0) initial window position - feature not implemented
      can't set reshape function (0x8055687) - feature not supported
      Segmentation fault

       
      • Andreas Umbach
        Andreas Umbach
        2007-06-04

        I have downloaded a Fedora Core 7 dvd-image, I'm going to install it & compile GLtron on it as soon as I have the time. Then I can look at it in the debugger, or prove that your installation is screwed up (if it just works find for me...)

        • Andreas