Loading ...
Sorry, an error occurred while loading the content.

NEAT on a modern computer?

Expand Messages
  • thomasj20022001
    Hello group, I m very interested in experimenting with NEAT but I m having some problems getting it to compile. I m using GCC 3.4.4 and I tried applying the
    Message 1 of 4 , Jan 1, 2006
    • 0 Attachment
      Hello group,

      I'm very interested in experimenting with NEAT but I'm having some
      problems getting it to compile. I'm using GCC 3.4.4 and I tried
      applying the 3.4 patches that I found in the file section and using
      the 3.4 Makefile but I'm still getting errors. For example, using the
      3.4 Makefile and the 3.4 patch:

      $ make -k
      g++ -g -O3 -Wall -c neatmain.cpp
      In file included from
      /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/backward/strstream:51,
      from neatmain.cpp:5:
      /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/backward/backward_warning.h:32:2:
      warning: #warning This file includes at least one deprecated or
      antiquated header. Please consider using one of the 32 headers found
      in section 17.4.1.2 of the C++ standard. Examples include substituting
      the <X> header for the <X.h> header for C++ includes, or <iostream>
      instead of the deprecated header <iostream.h>. To disable this warning
      use -Wno-deprecated.
      neatmain.cpp: In function `double testdoubset(double)':
      neatmain.cpp:97: warning: no return statement in function returning
      non-void
      neatmain.cpp: In function `int main(int, char**)':
      neatmain.cpp:107: error: `myapp' undeclared (first use this function)
      neatmain.cpp:107: error: (Each undeclared identifier is reported only
      once for each function it appears in.)
      neatmain.cpp:107: error: `Gtk' has not been declared
      neatmain.cpp:107: error: `Main' has not been declared
      make: *** [neatmain.o] Error 1
      make: Target `default' not remade because of errors.



      If I just comment out line 107 ("myapp=new Gtk::Main(argc, argv);") I get:
      $ make -k
      g++ -g -O3 -Wall -c neatmain.cpp
      In file included from
      /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/backward/strstream:51,
      from neatmain.cpp:5:
      /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/backward/backward_warning.h:32:2:
      warning: #warning This file includes at least one deprecated or
      antiquated header. Please consider using one of the 32 headers found
      in section 17.4.1.2 of the C++ standard. Examples include substituting
      the <X> header for the <X.h> header for C++ includes, or <iostream>
      instead of the deprecated header <iostream.h>. To disable this warning
      use -Wno-deprecated.
      neatmain.cpp: In function `double testdoubset(double)':
      neatmain.cpp:97: warning: no return statement in function returning
      non-void
      neatmain.cpp:97: warning: control reaches end of non-void function
      g++ -g -o neat_ng neatmain.o genetics.o networks.o experiments.o -ldl -lm
      neatmain.o: In function `main_prog(int, char**)':
      neatmain.cpp:87: undefined reference to `glist()'
      neatmain.o: In function `main':
      neatmain.cpp:122: undefined reference to `gh_enter'
      neatmain.o: In function `main_prog(int, char**)':
      neatmain.cpp:88: undefined reference to `scm_shell'
      collect2: ld returned 1 exit status
      distcc[6647] ERROR: compile (null) on localhost failed
      make: *** [neat_ng] Error 1
      make: Target `default' not remade because of errors.


      How can I get NEAT to compile under GCC 3.4.4?

      Thanks for your help!
      Thomas
    • Kenneth Stanley
      The problem looks like it has to do with compiling gtk and Guile. As time goes on, the way NEAT compiles and references these libraries is probably becoming
      Message 2 of 4 , Jan 5, 2006
      • 0 Attachment
        The problem looks like it has to do with compiling gtk and Guile.
        As time goes on, the way NEAT compiles and references these
        libraries is probably becoming increasingly deprecated. One thing
        you can do is simply strip both of them out (you'd lose the
        visualizations, but that's not too terrible).

        I am planning to soon release a version that has these stripped out
        as well (and includes the "rt" methods for rtNEAT). That should be
        much easier to compile.

        In the meantime, I am interested as well in whether anyone has
        gotten NEAT to compile with gcc 3.4.4. I will get back to you if I
        hear anything. Please let me know also if you get it working so
        people can learn how you did it.

        ken

        --- In neat@yahoogroups.com, "thomasj20022001" <hazard@i...> wrote:
        >
        > Hello group,
        >
        > I'm very interested in experimenting with NEAT but I'm having some
        > problems getting it to compile. I'm using GCC 3.4.4 and I tried
        > applying the 3.4 patches that I found in the file section and using
        > the 3.4 Makefile but I'm still getting errors. For example, using
        the
        > 3.4 Makefile and the 3.4 patch:
        >
        > $ make -k
        > g++ -g -O3 -Wall -c neatmain.cpp
        > In file included from
        > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
        v3/backward/strstream:51,
        > from neatmain.cpp:5:
        > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
        v3/backward/backward_warning.h:32:2:
        > warning: #warning This file includes at least one deprecated or
        > antiquated header. Please consider using one of the 32 headers
        found
        > in section 17.4.1.2 of the C++ standard. Examples include
        substituting
        > the <X> header for the <X.h> header for C++ includes, or <iostream>
        > instead of the deprecated header <iostream.h>. To disable this
        warning
        > use -Wno-deprecated.
        > neatmain.cpp: In function `double testdoubset(double)':
        > neatmain.cpp:97: warning: no return statement in function returning
        > non-void
        > neatmain.cpp: In function `int main(int, char**)':
        > neatmain.cpp:107: error: `myapp' undeclared (first use this
        function)
        > neatmain.cpp:107: error: (Each undeclared identifier is reported
        only
        > once for each function it appears in.)
        > neatmain.cpp:107: error: `Gtk' has not been declared
        > neatmain.cpp:107: error: `Main' has not been declared
        > make: *** [neatmain.o] Error 1
        > make: Target `default' not remade because of errors.
        >
        >
        >
        > If I just comment out line 107 ("myapp=new Gtk::Main(argc,
        argv);") I get:
        > $ make -k
        > g++ -g -O3 -Wall -c neatmain.cpp
        > In file included from
        > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
        v3/backward/strstream:51,
        > from neatmain.cpp:5:
        > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
        v3/backward/backward_warning.h:32:2:
        > warning: #warning This file includes at least one deprecated or
        > antiquated header. Please consider using one of the 32 headers
        found
        > in section 17.4.1.2 of the C++ standard. Examples include
        substituting
        > the <X> header for the <X.h> header for C++ includes, or <iostream>
        > instead of the deprecated header <iostream.h>. To disable this
        warning
        > use -Wno-deprecated.
        > neatmain.cpp: In function `double testdoubset(double)':
        > neatmain.cpp:97: warning: no return statement in function returning
        > non-void
        > neatmain.cpp:97: warning: control reaches end of non-void function
        > g++ -g -o neat_ng neatmain.o genetics.o networks.o experiments.o -
        ldl -lm
        > neatmain.o: In function `main_prog(int, char**)':
        > neatmain.cpp:87: undefined reference to `glist()'
        > neatmain.o: In function `main':
        > neatmain.cpp:122: undefined reference to `gh_enter'
        > neatmain.o: In function `main_prog(int, char**)':
        > neatmain.cpp:88: undefined reference to `scm_shell'
        > collect2: ld returned 1 exit status
        > distcc[6647] ERROR: compile (null) on localhost failed
        > make: *** [neat_ng] Error 1
        > make: Target `default' not remade because of errors.
        >
        >
        > How can I get NEAT to compile under GCC 3.4.4?
        >
        > Thanks for your help!
        > Thomas
        >
      • thomasj20022001
        Hi Ken, I was finally able to get it to compile with GCC 3.4.4. The primary problem (after I applied the patches) was that I was trying to compile neat, not
        Message 3 of 4 , Jan 14, 2006
        • 0 Attachment
          Hi Ken,

          I was finally able to get it to compile with GCC 3.4.4. The primary
          problem (after I applied the patches) was that I was trying to compile
          neat, not neat_ng (doh!).

          For future versions, can I suggest separating out the visualization
          code from the primary NEAT algorithm? That is, have separate code and
          executables that just parse the population data (or series of
          population data files in the case of speciation visualization). This
          could keep the code cleaner while minimizing the dependencies of the
          primary algorithms on 3rd-party libraries that can change rapidly;
          plus it follow the Unix software idea of 'each program should do one
          thing well'. Anyways, just a suggestion.

          Tom

          --- In neat@yahoogroups.com, "Kenneth Stanley" <kstanley@c...> wrote:
          >
          > The problem looks like it has to do with compiling gtk and Guile.
          > As time goes on, the way NEAT compiles and references these
          > libraries is probably becoming increasingly deprecated. One thing
          > you can do is simply strip both of them out (you'd lose the
          > visualizations, but that's not too terrible).
          >
          > I am planning to soon release a version that has these stripped out
          > as well (and includes the "rt" methods for rtNEAT). That should be
          > much easier to compile.
          >
          > In the meantime, I am interested as well in whether anyone has
          > gotten NEAT to compile with gcc 3.4.4. I will get back to you if I
          > hear anything. Please let me know also if you get it working so
          > people can learn how you did it.
          >
          > ken
          >
          > --- In neat@yahoogroups.com, "thomasj20022001" <hazard@i...> wrote:
          > >
          > > Hello group,
          > >
          > > I'm very interested in experimenting with NEAT but I'm having some
          > > problems getting it to compile. I'm using GCC 3.4.4 and I tried
          > > applying the 3.4 patches that I found in the file section and using
          > > the 3.4 Makefile but I'm still getting errors. For example, using
          > the
          > > 3.4 Makefile and the 3.4 patch:
          > >
          > > $ make -k
          > > g++ -g -O3 -Wall -c neatmain.cpp
          > > In file included from
          > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
          > v3/backward/strstream:51,
          > > from neatmain.cpp:5:
          > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
          > v3/backward/backward_warning.h:32:2:
          > > warning: #warning This file includes at least one deprecated or
          > > antiquated header. Please consider using one of the 32 headers
          > found
          > > in section 17.4.1.2 of the C++ standard. Examples include
          > substituting
          > > the <X> header for the <X.h> header for C++ includes, or <iostream>
          > > instead of the deprecated header <iostream.h>. To disable this
          > warning
          > > use -Wno-deprecated.
          > > neatmain.cpp: In function `double testdoubset(double)':
          > > neatmain.cpp:97: warning: no return statement in function returning
          > > non-void
          > > neatmain.cpp: In function `int main(int, char**)':
          > > neatmain.cpp:107: error: `myapp' undeclared (first use this
          > function)
          > > neatmain.cpp:107: error: (Each undeclared identifier is reported
          > only
          > > once for each function it appears in.)
          > > neatmain.cpp:107: error: `Gtk' has not been declared
          > > neatmain.cpp:107: error: `Main' has not been declared
          > > make: *** [neatmain.o] Error 1
          > > make: Target `default' not remade because of errors.
          > >
          > >
          > >
          > > If I just comment out line 107 ("myapp=new Gtk::Main(argc,
          > argv);") I get:
          > > $ make -k
          > > g++ -g -O3 -Wall -c neatmain.cpp
          > > In file included from
          > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
          > v3/backward/strstream:51,
          > > from neatmain.cpp:5:
          > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
          > v3/backward/backward_warning.h:32:2:
          > > warning: #warning This file includes at least one deprecated or
          > > antiquated header. Please consider using one of the 32 headers
          > found
          > > in section 17.4.1.2 of the C++ standard. Examples include
          > substituting
          > > the <X> header for the <X.h> header for C++ includes, or <iostream>
          > > instead of the deprecated header <iostream.h>. To disable this
          > warning
          > > use -Wno-deprecated.
          > > neatmain.cpp: In function `double testdoubset(double)':
          > > neatmain.cpp:97: warning: no return statement in function returning
          > > non-void
          > > neatmain.cpp:97: warning: control reaches end of non-void function
          > > g++ -g -o neat_ng neatmain.o genetics.o networks.o experiments.o -
          > ldl -lm
          > > neatmain.o: In function `main_prog(int, char**)':
          > > neatmain.cpp:87: undefined reference to `glist()'
          > > neatmain.o: In function `main':
          > > neatmain.cpp:122: undefined reference to `gh_enter'
          > > neatmain.o: In function `main_prog(int, char**)':
          > > neatmain.cpp:88: undefined reference to `scm_shell'
          > > collect2: ld returned 1 exit status
          > > distcc[6647] ERROR: compile (null) on localhost failed
          > > make: *** [neat_ng] Error 1
          > > make: Target `default' not remade because of errors.
          > >
          > >
          > > How can I get NEAT to compile under GCC 3.4.4?
          > >
          > > Thanks for your help!
          > > Thomas
          > >
          >
        • Kenneth Stanley
          Hi Tom, I m glad to hear you could finally compile it. Is it possible you could share the Makefile and any changes you made to the source to get it to
          Message 4 of 4 , Jan 15, 2006
          • 0 Attachment
            Hi Tom,

            I'm glad to hear you could finally compile it. Is it possible you
            could share the Makefile and any changes you made to the source to
            get it to compile? (We have a Files section in the group where you
            could post it) Or was it just as simple as using neat_ng and it all
            worked with no other changes?

            I hear you on separating stuff out. When I first wrote NEAT of
            course I was just writing it for me, not anticipating that so many
            people would one day be using that code. I would not organize it
            the same way in hindsight. When we release the new rtNEAT code
            (which is also an updated version of NEAT), it will not include
            vizualization or guile, so it will be more straightforward to
            compile.

            ken

            --- In neat@yahoogroups.com, "thomasj20022001" <hazard@i...> wrote:
            >
            > Hi Ken,
            >
            > I was finally able to get it to compile with GCC 3.4.4. The primary
            > problem (after I applied the patches) was that I was trying to
            compile
            > neat, not neat_ng (doh!).
            >
            > For future versions, can I suggest separating out the visualization
            > code from the primary NEAT algorithm? That is, have separate code
            and
            > executables that just parse the population data (or series of
            > population data files in the case of speciation visualization).
            This
            > could keep the code cleaner while minimizing the dependencies of
            the
            > primary algorithms on 3rd-party libraries that can change rapidly;
            > plus it follow the Unix software idea of 'each program should do
            one
            > thing well'. Anyways, just a suggestion.
            >
            > Tom
            >
            > --- In neat@yahoogroups.com, "Kenneth Stanley" <kstanley@c...>
            wrote:
            > >
            > > The problem looks like it has to do with compiling gtk and
            Guile.
            > > As time goes on, the way NEAT compiles and references these
            > > libraries is probably becoming increasingly deprecated. One
            thing
            > > you can do is simply strip both of them out (you'd lose the
            > > visualizations, but that's not too terrible).
            > >
            > > I am planning to soon release a version that has these stripped
            out
            > > as well (and includes the "rt" methods for rtNEAT). That should
            be
            > > much easier to compile.
            > >
            > > In the meantime, I am interested as well in whether anyone has
            > > gotten NEAT to compile with gcc 3.4.4. I will get back to you
            if I
            > > hear anything. Please let me know also if you get it working so
            > > people can learn how you did it.
            > >
            > > ken
            > >
            > > --- In neat@yahoogroups.com, "thomasj20022001" <hazard@i...>
            wrote:
            > > >
            > > > Hello group,
            > > >
            > > > I'm very interested in experimenting with NEAT but I'm having
            some
            > > > problems getting it to compile. I'm using GCC 3.4.4 and I tried
            > > > applying the 3.4 patches that I found in the file section and
            using
            > > > the 3.4 Makefile but I'm still getting errors. For example,
            using
            > > the
            > > > 3.4 Makefile and the 3.4 patch:
            > > >
            > > > $ make -k
            > > > g++ -g -O3 -Wall -c neatmain.cpp
            > > > In file included from
            > > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
            > > v3/backward/strstream:51,
            > > > from neatmain.cpp:5:
            > > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
            > > v3/backward/backward_warning.h:32:2:
            > > > warning: #warning This file includes at least one deprecated or
            > > > antiquated header. Please consider using one of the 32 headers
            > > found
            > > > in section 17.4.1.2 of the C++ standard. Examples include
            > > substituting
            > > > the <X> header for the <X.h> header for C++ includes, or
            <iostream>
            > > > instead of the deprecated header <iostream.h>. To disable this
            > > warning
            > > > use -Wno-deprecated.
            > > > neatmain.cpp: In function `double testdoubset(double)':
            > > > neatmain.cpp:97: warning: no return statement in function
            returning
            > > > non-void
            > > > neatmain.cpp: In function `int main(int, char**)':
            > > > neatmain.cpp:107: error: `myapp' undeclared (first use this
            > > function)
            > > > neatmain.cpp:107: error: (Each undeclared identifier is
            reported
            > > only
            > > > once for each function it appears in.)
            > > > neatmain.cpp:107: error: `Gtk' has not been declared
            > > > neatmain.cpp:107: error: `Main' has not been declared
            > > > make: *** [neatmain.o] Error 1
            > > > make: Target `default' not remade because of errors.
            > > >
            > > >
            > > >
            > > > If I just comment out line 107 ("myapp=new Gtk::Main(argc,
            > > argv);") I get:
            > > > $ make -k
            > > > g++ -g -O3 -Wall -c neatmain.cpp
            > > > In file included from
            > > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
            > > v3/backward/strstream:51,
            > > > from neatmain.cpp:5:
            > > > /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-
            > > v3/backward/backward_warning.h:32:2:
            > > > warning: #warning This file includes at least one deprecated or
            > > > antiquated header. Please consider using one of the 32 headers
            > > found
            > > > in section 17.4.1.2 of the C++ standard. Examples include
            > > substituting
            > > > the <X> header for the <X.h> header for C++ includes, or
            <iostream>
            > > > instead of the deprecated header <iostream.h>. To disable this
            > > warning
            > > > use -Wno-deprecated.
            > > > neatmain.cpp: In function `double testdoubset(double)':
            > > > neatmain.cpp:97: warning: no return statement in function
            returning
            > > > non-void
            > > > neatmain.cpp:97: warning: control reaches end of non-void
            function
            > > > g++ -g -o neat_ng neatmain.o genetics.o networks.o
            experiments.o -
            > > ldl -lm
            > > > neatmain.o: In function `main_prog(int, char**)':
            > > > neatmain.cpp:87: undefined reference to `glist()'
            > > > neatmain.o: In function `main':
            > > > neatmain.cpp:122: undefined reference to `gh_enter'
            > > > neatmain.o: In function `main_prog(int, char**)':
            > > > neatmain.cpp:88: undefined reference to `scm_shell'
            > > > collect2: ld returned 1 exit status
            > > > distcc[6647] ERROR: compile (null) on localhost failed
            > > > make: *** [neat_ng] Error 1
            > > > make: Target `default' not remade because of errors.
            > > >
            > > >
            > > > How can I get NEAT to compile under GCC 3.4.4?
            > > >
            > > > Thanks for your help!
            > > > Thomas
            > > >
            > >
            >
          Your message has been successfully submitted and would be delivered to recipients shortly.