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/