I'm not sure what's wrong but I can't compile gpsim-led and other gpsim modules, I get this error I'll try to provide more info: >>> Unpacking led-0.0.3.tar.gz to /var/tmp/portage/gpsim-led-0.0.3/work * Applying gpsim-led-0.0.3-gcc33.patch ... [ ok ] >>> Source unpacked. * econf: updating led-0.0.3/config.guess with /usr/share/gnuconfig/config.guess * econf: updating led-0.0.3/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for bison... bison -y checking for gcc... gcc checking whether the C compiler (gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer ) works... yes checking whether the C compiler (gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking for c++... c++ checking whether the C++ compiler (c++ -march=athlon-xp -O2 -pipe -fomit-frame-pointer ) works... yes checking whether the C++ compiler (c++ -march=athlon-xp -O2 -pipe -fomit-frame-pointer ) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether c++ accepts -g... yes checking how to run the C++ preprocessor... c++ -E checking for flex... flex checking for flex... (cached) flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for a BSD compatible install... /bin/install -c checking whether make sets ${MAKE}... (cached) yes checking host system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for ranlib... ranlib checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes updating cache ./config.cache checking for object suffix... o checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.lo... yes checking if gcc supports -fno-rtti -fno-exceptions ... no checking if gcc static flag -static works... -static checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking command to parse /usr/bin/nm -B output... yes checking how to hardcode library paths into programs... immediate checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking dynamic linker characteristics... Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for objdir... .libs creating libtool loading cache ./config.cache checking for main in -lfl... yes checking for gtk-config... /usr/bin/gtk-config checking for ANSI C header files... yes checking for working const... no checking for inline... no checking for size_t... yes checking for working alloca.h... no checking for alloca... yes checking return type of signal handlers... void checking for strdup... yes checking for strstr... yes checking for strtod... yes checking for strtol... yes checking for strtoul... yes updating cache ./config.cache creating ./config.status creating Makefile creating examples/Makefile creating config.h led-0.0.3 is now configured for Source directory: . Installation prefix: /usr C compiler: gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer C++ compiler: c++ -march=athlon-xp -O2 -pipe -fomit-frame-pointer make all-recursive make[1]: Entering directory `/var/tmp/portage/gpsim-led-0.0.3/work/led-0.0.3' Making all in examples make[2]: Entering directory `/var/tmp/portage/gpsim-led-0.0.3/work/led-0.0.3/examples' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/gpsim-led-0.0.3/work/led-0.0.3/examples' make[2]: Entering directory `/var/tmp/portage/gpsim-led-0.0.3/work/led-0.0.3' /bin/sh ./libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -march=athlon-xp -O2 -pipe -fomit-frame-pointer -c led.cc /bin/sh ./libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -march=athlon-xp -O2 -pipe -fomit-frame-pointer -c module_manager.cc mkdir .libs c++ -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -march=athlon-xp -O2 -pipe -fomit-frame-pointer -c -fPIC -DPIC module_manager.cc -o .libs/module_manager.lo rm -f .libs/led.lo c++ -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -march=athlon-xp -O2 -pipe -fomit-frame-pointer -c -fPIC -DPIC led.cc -o .libs/led.lo In file included from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/backward/iostream.h:31, from module_manager.cc:44: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/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 <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. In file included from module_manager.cc:49: led.h:79:1: warning: "DECIMAL_POINT" redefined In file included from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:42, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/iosfwd:46, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/ios:44, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/ostream:45, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/iostream:45, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/backward/iostream.h:32, from module_manager.cc:44: /usr/include/langinfo.h:473:1: warning: this is the location of the previous definition module_manager.cc:63: error: invalid conversion from `ExternalModule*(*)(char*) ' to `ExternalModule*(*)(const char*)' In file included from led.cc:71: led.h:79:1: warning: "DECIMAL_POINT" redefined In file included from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:42, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/iosfwd:46, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_algobase.h:70, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/memory:54, from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/string:48, from led.cc:66: /usr/include/langinfo.h:473:1: warning: this is the location of the previous definition In file included from led.cc:71: led.h:84: error: parse error before `{' token led.h:96: error: ISO C++ forbids declaration of `segments' with no type led.h:130: error: parse error before `void' led.h:142: error: virtual outside class declaration led.h:145: error: virtual outside class declaration led.h:146: error: syntax error before `*' token led.cc: In function `void simulation_has_stopped(void*)': led.cc:79: error: `update' undeclared (first use this function) led.cc:79: error: (Each undeclared identifier is reported only once for each function it appears in.) led.cc: At global scope: led.cc:119: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' led.cc: In member function `void Led_7Segments::update()': led.cc:120: error: `update' undeclared (first use this function) led.cc: At global scope: led.cc:126: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' make[2]: *** [module_manager.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... led.cc: In member function `void Led_7Segments::update(GtkWidget*, unsigned int, unsigned int)': led.cc:166: error: request for member `p' in `segments[i]', which is of non-class type `int' led.cc:182: error: request for member `p' in `segments[i]', which is of non-class type `int' led.cc: In function `gint led_expose_event(GtkWidget*, GdkEvent*, void*)': led.cc:210: error: `update' undeclared (first use this function) led.cc: At global scope: led.cc:243: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' led.cc: In member function `void Led_7Segments::build_segments(int, int)': led.cc:406: error: request for member `p' in `segments[i]', which is of non-class type `int' led.cc:407: error: request for member `p' in `segments[i]', which is of non-class type `int' led.cc: At global scope: led.cc:414: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' led.cc: In member function `void Led_7Segments::build_window()': led.cc:433: error: `name_str' undeclared (first use this function) led.cc: At global scope: led.cc:522: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' led.cc: In constructor `Led_7Segments::Led_7Segments()': led.cc:531: error: `interface_id' undeclared (first use this function) led.cc:531: error: `gpsim_register_interface' undeclared (first use this function) led.cc:533: error: `gpsim_register_simulation_has_stopped' undeclared (first use this function) led.cc:537: error: `gpsim_set_cyclic_break_point2' undeclared (first use this function) led.cc: At global scope: led.cc:548: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' led.cc: In member function `void Led_7Segments::create_iopin_map()': led.cc:567: error: `name' undeclared (first use this function) led.cc:581: error: `create_pkg' undeclared (first use this function) led.cc:593: error: `assign_pin' undeclared (first use this function) led.cc:609: error: `Package' undeclared (first use this function) led.cc:609: error: parse error before `::' token led.cc:610: error: parse error before `::' token led.cc:611: error: parse error before `::' token led.cc:612: error: parse error before `::' token led.cc:613: error: parse error before `::' token led.cc:614: error: parse error before `::' token led.cc:615: error: parse error before `::' token led.cc:616: error: parse error before `::' token led.cc: At global scope: led.cc:624: error: syntax error before `*' token led.cc:629: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' led.cc:630: error: syntax error before `->' token led.cc:631: error: syntax error before `->' token led.cc: In function `int main(int, char**)': led.cc:645: error: invalid use of undefined type `class Led_7Segments' led.h:83: error: forward declaration of `class Led_7Segments' make[2]: *** [led.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/gpsim-led-0.0.3/work/led-0.0.3' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gpsim-led-0.0.3/work/led-0.0.3' make: *** [all-recursive-am] Error 2 !!! ERROR: dev-embedded/gpsim-led-0.0.3 failed. !!! Function src_compile, Line 556, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. Reproducible: Always Steps to Reproduce: 1. 2. 3.
The led module is now included in all recent gpsim releases. At least those which are currently in portage. So there's no point trying to fix this. I have package.mask'd dev-embedded/gpsim-led, pending removal on 1 March 2007 at the latest. Denis.