Package: flightgear
Version: 0.9.9-1
Severity: important
Tags: patch

Your package fails to build with G++ 4.1.  I'm filing this bug as
important for now, but when 4.1 will be the default compiler in
unstable (probably in a few weeks) I'll upgrade this to serious.

A patch is below.


> Automatic build of flightgear_0.9.9-1 on bigsur by sbuild/mips 1.89
...
> if g++ -DHAVE_CONFIG_H -I. -I. -I../../src/Include -I../.. -I../../src  
> -I/usr/X11R6/include -I/usr/local/include   -MT atis.o -MD -MP -MF 
> ".deps/atis.Tpo" -c -o atis.o atis.cxx; \
>       then mv -f ".deps/atis.Tpo" ".deps/atis.Po"; else rm -f 
> ".deps/atis.Tpo"; exit 1; fi
> /usr/include/simgear/scene/model/placement.hxx:49: error: extra qualification 
> 'SGModelPlacement::' on member 'init'
> make[3]: *** [atis.o] Error 1

and:

> make[3]: Entering directory `/home/tbm/src/flightgear-0.9.9/src/Environment'
> if g++ -DHAVE_CONFIG_H -I. -I. -I../../src/Include -I../.. -I../../src  
> -I/usr/X11R6/include -I/usr/local/include   -MT environment.o -MD -MP -MF 
> ".deps/environment.Tpo" -c -o environment.o environment.cxx; \
>         then mv -f ".deps/environment.Tpo" ".deps/environment.Po"; else rm -f 
> ".deps/environment.Tpo"; exit 1; fi
> if g++ -DHAVE_CONFIG_H -I. -I. -I../../src/Include -I../.. -I../../src  
> -I/usr/X11R6/include -I/usr/local/include   -MT environment_mgr.o -MD -MP -MF 
> ".deps/environment_mgr.Tpo" -c -o environment_mgr.o environment_mgr.cxx; \
>         then mv -f ".deps/environment_mgr.Tpo" ".deps/environment_mgr.Po"; 
> else rm -f ".deps/environment_mgr.Tpo"; exit 1; fi
> fgclouds.hxx:56: error: extra qualification ‘FGClouds::’ on member 
> ‘update_env_config’
> make[3]: *** [environment_mgr.o] Error 1

and:

i> f g++ -DHAVE_CONFIG_H -I. -I. -I../../src/Include -I../.. -I../../src  
-I/usr/X11R6/include -I/usr/local/include  -g -O2 -D_REENTRANT -MT 
environment_ctrl.o -MD -MP -MF ".deps/environment_ctrl.Tpo" -c -o 
environment_ctrl.o environment_ctrl.cxx; \
>         then mv -f ".deps/environment_ctrl.Tpo" ".deps/environment_ctrl.Po"; 
> else rm -f ".deps/environment_ctrl.Tpo"; exit 1; fi
> environment_ctrl.cxx: In member function ‘virtual void 
> FGMetarEnvironmentCtrl::MetarThread::run()’:
> environment_ctrl.cxx:711: error: ‘metar_cleanup_handler’ was not declared in 
> this scope

Here's a patch for these:


--- ./src/Environment/fgclouds.hxx~     2006-03-12 21:22:11.000000000 +0000
+++ ./src/Environment/fgclouds.hxx      2006-03-12 21:22:15.000000000 +0000
@@ -53,7 +53,7 @@
 
        void update_metar_properties( FGMetar *m );
 
-       void FGClouds::update_env_config ();
+       void update_env_config ();
 
        int update_event;
        SGSoundSample *snd_lightning;
--- ./src/Environment/environment_ctrl.hxx~     2006-03-12 21:23:19.000000000 
+0000
+++ ./src/Environment/environment_ctrl.hxx      2006-03-12 22:22:23.000000000 
+0000
@@ -150,6 +150,11 @@
 
 
 
+
+#if defined(ENABLE_THREADS) && ENABLE_THREADS
+void metar_cleanup_handler( void* );
+#endif // ENABLE_THREADS
+
 /**
  * Interplation controller using the FGMetar class
  */
--- ./src/Scenery/FGTileLoader.hxx~     2006-03-12 22:21:06.000000000 +0000
+++ ./src/Scenery/FGTileLoader.hxx      2006-03-12 22:21:56.000000000 +0000
@@ -35,6 +35,9 @@
    SG_USING_STD( queue );
 #endif
 
+#if defined(ENABLE_THREADS) && ENABLE_THREADS
+void cleanup_handler( void* );
+#endif // ENABLE_THREADS
 
 // Forward reference.
 class FGTileEntry;
--- ./src/Traffic/SchedFlight.hxx~      2006-03-12 22:11:29.000000000 +0000
+++ ./src/Traffic/SchedFlight.hxx       2006-03-12 22:11:36.000000000 +0000
@@ -67,7 +67,7 @@
   FGScheduledFlight();
   FGScheduledFlight(const FGScheduledFlight &other);
   //  FGScheduledFlight(const string);
-  FGScheduledFlight::FGScheduledFlight(const string& cs,
+  FGScheduledFlight(const string& cs,
                     const string& fr,
                     const string& depPrt,
                     const string& arrPrt,



But then I get:


g++ -DPKGLIBDIR=\"/usr/share/games/FlightGear\" -g -O2 -D_REENTRANT  
-L/usr/X11R6/lib -L/usr/local/lib -o fgfs  bootstrap.o ../../src/Main/libMain.a 
../../src/Aircraft/libAircraft.a ../../src/ATC/libATC.a 
../../src/Cockpit/libCockpit.a ../../src/Cockpit/built_in/libBuilt_in.a 
../../src/FDM/libFlight.a ../../src/FDM/Balloon/libBalloon.a 
../../src/FDM/ExternalNet/libExternalNet.a 
../../src/FDM/ExternalPipe/libExternalPipe.a ../../src/FDM/JSBSim/libJSBSim.a 
../../src/FDM/YASim/libYASim.a ../../src/FDM/JSBSim/filtersjb/libfiltersjb.a 
../../src/FDM/LaRCsim/libLaRCsim.a ../../src/FDM/UIUCModel/libUIUCModel.a 
../../src/FDM/SP/libSPFDM.a ../../src/GUI/libGUI.a 
../../src/Autopilot/libAutopilot.a ../../src/Input/libInput.a 
../../src/Instrumentation/libInstrumentation.a ../../src/Model/libModel.a 
../../src/AIModel/libAIModel.a ../../src/Network/libNetwork.a 
../../src/Navaids/libNavaids.a ../../src/Scenery/libScenery.a 
../../src/Scripting/libScripting.a ../../src/Sound/libSound.a 
../../src/Airports/libAirports.a ../../src/MultiPlayer/libMultiPlayer.a 
../../src/Systems/libSystems.a ../../src/Time/libTime.a 
../../src/Traffic/libTraffic.a ../../src/Environment/libEnvironment.a -lsgroute 
-lsgsky -lsgsound -lsgephem -lsgmaterial -lsgtgdb -lsgmodel -lsgtiming -lsgio 
-lsgscreen -lsgmath -lsgbucket -lsgprops -lsgdebug -lsgmagvar -lsgmisc 
-lsgnasal -lsgxml -lsgsound -lsgserial -lsgstructure -lsgenvironment 
-lsgthreads -lpthread  -lplibpu -lplibfnt -lplibjs -lplibnet -lplibssg -lplibsg 
-lplibul  -lz -lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXi -lXext -lX11 -ldl 
-lm  -lopenal -ldl -lm   -lpthread  -ljpeg
../../src/FDM/LaRCsim/libLaRCsim.a(LaRCsim.o): In function 
`FGLaRCsim::copy_from_LaRCsim()':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/LaRCsim.cxx:762:
 undefined reference to `aircraft_'
:/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/LaRCsim.cxx:773: undefined 
reference to `aircraft_'
:/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/LaRCsim.cxx:769: undefined 
reference to `aircraft_'
:/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/LaRCsim.cxx:764: undefined 
reference to `aircraft_'
../../src/FDM/LaRCsim/libLaRCsim.a(LaRCsim.o): In function 
`FGLaRCsim::update(double)':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/LaRCsim.cxx:408:
 undefined reference to `aircraft_'
../../src/FDM/LaRCsim/libLaRCsim.a(LaRCsim.o):/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/LaRCsim.cxx:326:
 more undefined references to `aircraft_' follow
../../src/FDM/LaRCsim/libLaRCsim.a(ls_step.o): In function 
`uiuc_init_vars':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/ls_step.c:322: 
undefined reference to `uiuc_init_aeromodel'
:/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/ls_step.c:325: undefined 
reference to `uiuc_initial_init'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_init_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:72:
 undefined reference to `uiuc_defaults_inits'
:/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:73: undefined 
reference to `uiuc_init_aeromodel'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_network_send_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:122:
 undefined reference to `uiuc_network_send_routine'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_network_recv_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:117:
 undefined reference to `uiuc_network_recv_routine'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_record_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:112:
 undefined reference to `uiuc_record_routine'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_gear_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:107:
 undefined reference to `uiuc_gear_routine'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_engine_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:101:
 undefined reference to `uiuc_engine_routine'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_wind_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:95:
 undefined reference to `uiuc_wind_routine'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_aero_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:88:
 undefined reference to `uiuc_force_moment'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_local_vel_init':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:83:
 undefined reference to `uiuc_vel_init'
../../src/FDM/LaRCsim/libLaRCsim.a(uiuc_aero.o): In function 
`uiuc_init_2_wrapper':/home/tbm/src/flightgear-0.9.9/src/FDM/LaRCsim/uiuc_aero.c:78:
 undefined reference to `uiuc_initial_init'
collect2: ld returned 1 exit status
make[2]: *** [fgfs] Error 1
make[2]: Leaving directory `/home/tbm/src/flightgear-0.9.9/src/Main'
make[1]: *** [all-recursive] Error 1


I don't have time to investigate this one yet.  You can find G++ 4.1
in experimental.
-- 
Martin Michlmayr
http://www.cyrius.com/

Reply via email to