Build failed in Jenkins: Ndev__gtsam__ubuntu_focal_amd64 #316

0 views
Skip to first unread message

ROS Buildfarm

unread,
May 10, 2025, 1:15:23 PM5/10/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/316/display/redirect>

Changes:


------------------------------------------
[...truncated 225.64 KB...]
[ 26%] Built target CppUnitLite
Scanning dependencies of target gtsam
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/CCOLAMD/Source/ccolamd.c.o
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/SuiteSparse_config/SuiteSparse_config.c.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/DSFVector.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/SymmetricBlockMatrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Vector.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/VerticalBlockMatrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/cholesky.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/debug.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/timing.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/types.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/utilities.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Basis.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Chebyshev.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Chebyshev2.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/InequalityPenaltyFunction.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/NonlinearEqualityConstraint.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/NonlinearInequalityConstraint.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Bundler.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2_Base.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Fisheye.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Unified.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2Stereo.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3f.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/CalibratedCamera.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cyclic.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/EssentialMatrix.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/FundamentalMatrix.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Line3.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/OrientedPlane3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3M.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO4.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SOn.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity2.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity3.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SphericalCamera.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoCamera.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoPoint2.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Unit3.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/triangulation.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/BayesTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/DotWriter.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/EdgeKey.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Factor.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Key.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/LabeledSymbol.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Ordering.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Symbol.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableIndex.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableSlots.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/inferenceExceptions.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesNet.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesTree.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicConditional.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicEliminationTree.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactor.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactorGraph.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicISAM.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicJunctionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/AlgebraicDecisionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DecisionTreeFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesNet.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteConditional.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteDistribution.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteEliminationTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactorGraph.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteJunctionTree.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteKey.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteLookupDAG.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteSearch.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteValues.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Signature.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/SignatureParser.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableDistribution.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableFactor.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesNet.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesTree.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridConditional.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridEliminationTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianISAM.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianProductFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridJunctionTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearISAM.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridSmoother.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridValues.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/ConjugateGradientSolver.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Errors.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesNet.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianConditional.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianDensity.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianEliminationTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactor.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactorGraph.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianISAM.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianJunctionTree.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/HessianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/IterativeSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/JacobianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/KalmanFilter.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/LossFunctions.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/NoiseModel.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/PCGSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Preconditioner.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Sampler.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Scatter.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphBuilder.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphPreconditioner.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphSolver.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/VectorValues.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/iterative.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/linearExceptions.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/BatchFixedLagSmoother.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/CustomFactor.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizer.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizerImpl.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/FixedLagSmoother.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GaussNewtonOptimizer.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GraphvizFormatting.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2-impl.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Clique.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Params.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/IncrementalFixedLagSmoother.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtParams.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LinearContainerFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Marginals.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearConjugateGradientOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactorGraph.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearISAM.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizer.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizerParams.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Values.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/DsfTrackGenerator.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/MFAS.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmData.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmTrack.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanAveraging.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanFactor.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/TranslationRecovery.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/EssentialMatrixConstraint.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/FrobeniusFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/InitializePose3.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/OrientedPlane3Factor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/dataset.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/lago.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AHRSFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AttitudeFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/BarometricFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/GPSFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/ImuBias.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/ImuFactor.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/ManifoldPreintegration.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/NavState.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/PreintegratedRotation.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/PreintegrationBase.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/PreintegrationParams.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/ScenarioRunner.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/TangentPreintegration.cpp.o
[ 61%] Linking CXX shared library libgtsam.so
[ 61%] Built target gtsam
Scanning dependencies of target Pose2SLAMExample
[ 61%] Building CXX object examples/CMakeFiles/Pose2SLAMExample.dir/Pose2SLAMExample.cpp.o
[ 61%] Linking CXX executable Pose2SLAMExample
[ 61%] Built target Pose2SLAMExample
Scanning dependencies of target TimeTBB
[ 61%] Building CXX object examples/CMakeFiles/TimeTBB.dir/TimeTBB.cpp.o
[ 61%] Linking CXX executable TimeTBB
[ 61%] Built target TimeTBB
Scanning dependencies of target PlanarSLAMExample
[ 61%] Building CXX object examples/CMakeFiles/PlanarSLAMExample.dir/PlanarSLAMExample.cpp.o
[ 61%] Linking CXX executable PlanarSLAMExample
[ 61%] Built target PlanarSLAMExample
Scanning dependencies of target METISOrderingExample
[ 64%] Building CXX object examples/CMakeFiles/METISOrderingExample.dir/METISOrderingExample.cpp.o
[ 64%] Linking CXX executable METISOrderingExample
[ 64%] Built target METISOrderingExample
Scanning dependencies of target LocalizationExample
[ 64%] Building CXX object examples/CMakeFiles/LocalizationExample.dir/LocalizationExample.cpp.o
[ 64%] Linking CXX executable LocalizationExample
[ 64%] Built target LocalizationExample
Scanning dependencies of target ISAM2_City10000
[ 64%] Building CXX object examples/CMakeFiles/ISAM2_City10000.dir/ISAM2_City10000.cpp.o
[ 64%] Linking CXX executable ISAM2_City10000
[ 64%] Built target ISAM2_City10000
Scanning dependencies of target SFMExampleExpressions_bal
[ 64%] Building CXX object examples/CMakeFiles/SFMExampleExpressions_bal.dir/SFMExampleExpressions_bal.cpp.o
[ 64%] Linking CXX executable SFMExampleExpressions_bal
[ 64%] Built target SFMExampleExpressions_bal
Scanning dependencies of target ISAM2Example_SmartFactor
[ 64%] Building CXX object examples/CMakeFiles/ISAM2Example_SmartFactor.dir/ISAM2Example_SmartFactor.cpp.o
[ 64%] Linking CXX executable ISAM2Example_SmartFactor
[ 64%] Built target ISAM2Example_SmartFactor
Scanning dependencies of target GEKF_Rot3Example
[ 64%] Building CXX object examples/CMakeFiles/GEKF_Rot3Example.dir/GEKF_Rot3Example.cpp.o
In file included from /tmp/ws/src/gtsam/gtsam/navigation/LieGroupEKF.h:27,
from /tmp/ws/src/gtsam/examples/GEKF_Rot3Example.cpp:23:
/tmp/ws/src/gtsam/gtsam/navigation/ManifoldEKF.h: In instantiation of ‘void gtsam::ManifoldEKF<M>::update(const Measurement&, const Eigen::Matrix<double, gtsam::traits<Measurement>::dimension, gtsam::ManifoldEKF<M>::Dim>&, const Measurement&, const Eigen::Matrix<double, gtsam::traits<Measurement>::dimension, gtsam::traits<Measurement>::dimension>&) [with Measurement = Eigen::Matrix<double, 3, 1>; M = gtsam::Rot3]’:
/tmp/ws/src/gtsam/gtsam/navigation/ManifoldEKF.h:249:7: required from ‘void gtsam::ManifoldEKF<M>::update(MeasurementFunction&&, const Measurement&, const Eigen::Matrix<double, gtsam::traits<Measurement>::dimension, gtsam::traits<Measurement>::dimension>&) [with Measurement = Eigen::Matrix<double, 3, 1>; MeasurementFunction = Eigen::Matrix<double, 3, 1> (&)(const gtsam::Rot3&, gtsam::OptionalJacobian<3, 3>); M = gtsam::Rot3]’
/tmp/ws/src/gtsam/examples/GEKF_Rot3Example.cpp:73:26: required from here
/tmp/ws/src/gtsam/gtsam/navigation/ManifoldEKF.h:162:11: error: variable ‘m_runtime’ set but not used [-Werror=unused-but-set-variable]
162 | int m_runtime;
| ^~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [examples/CMakeFiles/GEKF_Rot3Example.dir/build.make:63: examples/CMakeFiles/GEKF_Rot3Example.dir/GEKF_Rot3Example.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:25376: examples/CMakeFiles/GEKF_Rot3Example.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
<== Failed to process package 'gtsam':
Command '['make']' returned non-zero exit status 2.

Reproduce this error by running:
==> cd /tmp/ws/build_isolated/gtsam && make

Command failed, exiting.
# END SUBSECTION
Build step 'Execute shell' marked build as failure
[CMakeGNU C Compiler (gcc)Clang-Tidy] Skipping execution of recorder since overall result is 'FAILURE'
INFO: Processing GoogleTest-1.8
INFO: [GoogleTest-1.8] - No test report file(s) were found with the pattern 'ws/test_results/**/*.xml' relative to '<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/'> for the testing framework 'GoogleTest-1.8'.
Did you enter a pattern relative to (and within) the workspace directory?
Did you generate the result report(s) for 'GoogleTest-1.8'?"
WARNING: All test reports are empty.
INFO: Check 'Failed Tests' threshold.
INFO: Check 'Skipped Tests' threshold.
INFO: Setting the build status to FAILURE

ROS Buildfarm

unread,
May 12, 2025, 10:13:27 PM5/12/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/317/display/redirect>

Changes:


------------------------------------------
[...truncated 225.79 KB...]
make[1]: *** [CMakeFiles/Makefile2:25461: examples/CMakeFiles/GEKF_Rot3Example.dir/all] Error 2

ROS Buildfarm

unread,
May 15, 2025, 1:14:35 PM5/15/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/318/display/redirect>

Changes:


------------------------------------------
[...truncated 226.35 KB...]
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity3.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteKey.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteLookupDAG.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteMarginals.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteSearch.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteValues.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Signature.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/SignatureParser.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableDistribution.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableFactor.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesNet.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesTree.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridEliminationTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianISAM.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianProductFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridJunctionTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearISAM.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridSmoother.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridValues.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/ConjugateGradientSolver.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Errors.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesNet.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianConditional.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianDensity.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianEliminationTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactor.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactorGraph.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianISAM.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianJunctionTree.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/HessianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/IterativeSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/JacobianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/KalmanFilter.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/LossFunctions.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/NoiseModel.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/PCGSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Preconditioner.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Sampler.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Scatter.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphBuilder.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphPreconditioner.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphSolver.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/VectorValues.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/iterative.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/linearExceptions.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/BatchFixedLagSmoother.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/CustomFactor.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizer.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizerImpl.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/FixedLagSmoother.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GaussNewtonOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GraphvizFormatting.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2-impl.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Clique.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Params.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/IncrementalFixedLagSmoother.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtParams.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LinearContainerFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Marginals.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearConjugateGradientOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactor.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactorGraph.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearISAM.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizer.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizerParams.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Values.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/DsfTrackGenerator.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/MFAS.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmData.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmTrack.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanAveraging.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanFactor.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/TranslationRecovery.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/EssentialMatrixConstraint.cpp.o

ROS Buildfarm

unread,
May 16, 2025, 12:18:28 AM5/16/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/319/display/redirect>

Changes:


------------------------------------------
[...truncated 225.97 KB...]

ROS Buildfarm

unread,
May 16, 2025, 11:13:08 AM5/16/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/320/display/redirect>

Changes:


------------------------------------------
[...truncated 225.49 KB...]

ROS Buildfarm

unread,
May 16, 2025, 3:17:35 PM5/16/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/321/display/redirect>

Changes:


------------------------------------------
[...truncated 225.77 KB...]
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/SuiteSparse_config/SuiteSparse_config.c.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/DSFVector.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/SymmetricBlockMatrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Vector.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/VerticalBlockMatrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/cholesky.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/debug.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/timing.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/types.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/utilities.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Basis.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Chebyshev.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Chebyshev2.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/InequalityPenaltyFunction.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/NonlinearEqualityConstraint.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/NonlinearInequalityConstraint.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Bundler.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2_Base.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Fisheye.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Unified.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2Stereo.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3f.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/CalibratedCamera.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cyclic.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/EssentialMatrix.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Event.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/FundamentalMatrix.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Gal3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Line3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/OrientedPlane3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3M.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO4.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SOn.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity2.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity3.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SphericalCamera.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoCamera.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoPoint2.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Unit3.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/triangulation.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/BayesTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/DotWriter.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/EdgeKey.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Factor.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Key.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/LabeledSymbol.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Ordering.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Symbol.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableIndex.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableSlots.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/inferenceExceptions.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesNet.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesTree.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicConditional.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicEliminationTree.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactor.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactorGraph.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicISAM.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicJunctionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/AlgebraicDecisionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DecisionTreeFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesNet.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteConditional.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteDistribution.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteEliminationTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactorGraph.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteJunctionTree.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteKey.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteLookupDAG.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteMarginals.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteSearch.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteValues.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Signature.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/SignatureParser.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableDistribution.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableFactor.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesNet.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridEliminationTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianISAM.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianProductFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridJunctionTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactorGraph.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearISAM.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridSmoother.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridValues.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/ConjugateGradientSolver.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Errors.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesNet.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianConditional.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianDensity.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianEliminationTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactor.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactorGraph.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianISAM.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianJunctionTree.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/HessianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/IterativeSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/JacobianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/KalmanFilter.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/LossFunctions.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/NoiseModel.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/PCGSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Preconditioner.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Sampler.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Scatter.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphBuilder.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphPreconditioner.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphSolver.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/VectorValues.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/iterative.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/linearExceptions.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/BatchFixedLagSmoother.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/CustomFactor.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizer.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizerImpl.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/FixedLagSmoother.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GaussNewtonOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GraphvizFormatting.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2-impl.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Clique.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Params.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/IncrementalFixedLagSmoother.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtParams.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LinearContainerFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Marginals.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearConjugateGradientOptimizer.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactor.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactorGraph.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearISAM.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizer.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizerParams.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Values.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/DsfTrackGenerator.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/MFAS.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmData.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmTrack.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanAveraging.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/TranslationRecovery.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/EssentialMatrixConstraint.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/FrobeniusFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/InitializePose3.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/OrientedPlane3Factor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/dataset.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/lago.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AHRSFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AttitudeFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/BarometricFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/GPSFactor.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/ImuBias.cpp.o
make[1]: *** [CMakeFiles/Makefile2:25637: examples/CMakeFiles/GEKF_Rot3Example.dir/all] Error 2

ROS Buildfarm

unread,
May 16, 2025, 10:10:02 PM5/16/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/322/display/redirect>

Changes:


------------------------------------------
[...truncated 120.28 KB...]
FATAL: command execution failed
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: java.io.IOException: Backing channel 'JNLP4-connect connection from ip-10-0-1-88.us-west-1.compute.internal/10.0.1.88:52490' is disconnected.
at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:216)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:286)
at com.sun.proxy.$Proxy83.isAlive(Unknown Source)
at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1213)
at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1205)
at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:194)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:144)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
FATAL: Unable to delete script file /tmp/jenkins8117048453714775217.sh
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@7027eda7:JNLP4-connect connection from ip-10-0-1-88.us-west-1.compute.internal/10.0.1.88:52490": Remote call on JNLP4-connect connection from ip-10-0-1-88.us-west-1.compute.internal/10.0.1.88:52490 failed. The channel is closing down or has closed down
at hudson.remoting.Channel.call(Channel.java:994)
at hudson.FilePath.act(FilePath.java:1165)
at hudson.FilePath.act(FilePath.java:1154)
at hudson.FilePath.delete(FilePath.java:1681)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:162)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
Build step 'Execute shell' marked build as failure
ERROR: Step ‘Record compiler warnings and static analysis results’ aborted due to exception:
java.io.IOException: No workspace found for Ndev__gtsam__ubuntu_focal_amd64 #322
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.perform(IssuesRecorder.java:670)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
at hudson.model.Build$BuildExecution.post2(Build.java:178)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
at hudson.model.Run.execute(Run.java:1913)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
ERROR: Step ‘Publish xUnit test result report’ failed: no workspace for Ndev__gtsam__ubuntu_focal_amd64 #322

ROS Buildfarm

unread,
May 16, 2025, 10:34:06 PM5/16/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/323/display/redirect>

Changes:


------------------------------------------
[...truncated 226.22 KB...]
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/SuiteSparse_config/SuiteSparse_config.c.o
Build step 'Execute shell' marked build as failure

ROS Buildfarm

unread,
May 18, 2025, 3:16:07 PM5/18/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/324/display/redirect>

Changes:


------------------------------------------
[...truncated 295.15 KB...]
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/SuiteSparse_config/SuiteSparse_config.c.o
Build step 'Execute shell' marked build as failure

ROS Buildfarm

unread,
May 18, 2025, 11:13:23 PM5/18/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/325/display/redirect?page=changes>

Changes:

[github] Merge pull request #2137 from borglab/update-rng


------------------------------------------
[...truncated 120.06 KB...]

ROS Buildfarm

unread,
May 19, 2025, 12:13:31 AM5/19/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/326/display/redirect?page=changes>

Changes:

[github] Merge pull request #2110 from yambati03/cibw-prod


------------------------------------------
[...truncated 120.07 KB...]

ROS Buildfarm

unread,
May 24, 2025, 8:19:52 AM5/24/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/327/display/redirect?page=changes>

Changes:

[github] Merge pull request #2118 from borglab/docparse-inheritor


------------------------------------------
[...truncated 328.81 KB...]

ROS Buildfarm

unread,
May 26, 2025, 4:15:28 PM5/26/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/328/display/redirect>

Changes:


------------------------------------------
[...truncated 225.70 KB...]

ROS Buildfarm

unread,
May 26, 2025, 11:12:14 PM5/26/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/329/display/redirect?page=changes>

Changes:

[github] Merge pull request #2149 from borglab/scottiyio-patch-1


------------------------------------------
[...truncated 120.08 KB...]

ROS Buildfarm

unread,
May 28, 2025, 10:19:49 AM5/28/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/330/display/redirect>

Changes:


------------------------------------------
[...truncated 341.46 KB...]
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Matrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/SymmetricBlockMatrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/Vector.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/VerticalBlockMatrix.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/cholesky.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/debug.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/timing.cpp.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/types.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/utilities.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Basis.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Chebyshev.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/basis/Chebyshev2.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/InequalityPenaltyFunction.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/NonlinearEqualityConstraint.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/constrained/NonlinearInequalityConstraint.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Bundler.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2.cpp.o
[ 28%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3DS2_Base.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Fisheye.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3Unified.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3_S2Stereo.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cal3f.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/CalibratedCamera.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Cyclic.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/EssentialMatrix.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Event.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/FundamentalMatrix.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Gal3.cpp.o
[ 30%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Line3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/OrientedPlane3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Point3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Pose3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot2.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Rot3M.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO3.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SO4.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SOn.cpp.o
[ 33%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity2.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Similarity3.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/SphericalCamera.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoCamera.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/StereoPoint2.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/Unit3.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/geometry/triangulation.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/BayesTree.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/DotWriter.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/EdgeKey.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Factor.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Key.cpp.o
[ 35%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/LabeledSymbol.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Ordering.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/Symbol.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableIndex.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/VariableSlots.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/inference/inferenceExceptions.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesNet.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicBayesTree.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicConditional.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicEliminationTree.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactor.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicFactorGraph.cpp.o
[ 38%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicISAM.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicJunctionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/AlgebraicDecisionTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DecisionTreeFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesNet.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteBayesTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteConditional.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteDistribution.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteEliminationTree.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactor.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteFactorGraph.cpp.o
[ 40%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteJunctionTree.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteKey.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteLookupDAG.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteMarginals.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteSearch.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/DiscreteValues.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/Signature.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/SignatureParser.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableDistribution.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/discrete/TableFactor.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/DCSAM.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/DiscreteBoundaryFactor.cpp.o
[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesNet.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridBayesTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridEliminationTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianConditional.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianFactorGraph.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianISAM.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridGaussianProductFactor.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridJunctionTree.cpp.o
[ 45%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactor.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearFactorGraph.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridNonlinearISAM.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridSmoother.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/hybrid/HybridValues.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/ConjugateGradientSolver.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Errors.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesNet.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianBayesTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianConditional.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianDensity.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianEliminationTree.cpp.o
[ 47%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianFactorGraph.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianISAM.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/GaussianJunctionTree.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/HessianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/IterativeSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/JacobianFactor.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/KalmanFilter.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/LossFunctions.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/NoiseModel.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/PCGSolver.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Preconditioner.cpp.o
[ 50%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Sampler.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/Scatter.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphBuilder.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphPreconditioner.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/SubgraphSolver.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/VectorValues.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/iterative.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/linear/linearExceptions.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/BatchFixedLagSmoother.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/CustomFactor.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizer.cpp.o
[ 52%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/DoglegOptimizerImpl.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/FixedLagSmoother.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GaussNewtonOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/GraphvizFormatting.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2-impl.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Clique.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/ISAM2Params.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/IncrementalFixedLagSmoother.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtOptimizer.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LevenbergMarquardtParams.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/LinearContainerFactor.cpp.o
[ 54%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Marginals.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearConjugateGradientOptimizer.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactor.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearFactorGraph.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearISAM.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizer.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/NonlinearOptimizerParams.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/nonlinear/Values.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/DsfTrackGenerator.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/MFAS.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmData.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/SfmTrack.cpp.o
[ 57%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanAveraging.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/ShonanFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/sfm/TranslationRecovery.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/EssentialMatrixConstraint.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/FrobeniusFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/InitializePose3.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/OrientedPlane3Factor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/dataset.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/slam/lago.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AHRSFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/AttitudeFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/BarometricFactor.cpp.o
[ 59%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/CombinedImuFactor.cpp.o
[ 61%] Building CXX object gtsam/CMakeFiles/gtsam.dir/navigation/GPSFactor.cpp.o
make[1]: *** [CMakeFiles/Makefile2:25728: examples/CMakeFiles/GEKF_Rot3Example.dir/all] Error 2

ROS Buildfarm

unread,
May 28, 2025, 12:16:11 PM5/28/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/331/display/redirect>

Changes:


------------------------------------------
[...truncated 227.37 KB...]

ROS Buildfarm

unread,
May 29, 2025, 3:06:45 PM5/29/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/332/display/redirect>

Changes:


------------------------------------------
[...truncated 247.34 KB...]
[ 11%] Linking C shared library libmetis-gtsam.so
[ 11%] Built target metis-gtsam
Scanning dependencies of target cephes-gtsam
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/airy.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/bdtr.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/besselpoly.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/beta.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/btdtr.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/cbrt.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/chbevl.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/chdtr.c.o
[ 11%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/const.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/dawsn.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/dd_real.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ellie.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ellik.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ellpe.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ellpj.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ellpk.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/erfinv.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/exp10.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/exp2.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/expn.c.o
[ 14%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/fdtr.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/fresnl.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/gamma.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/gammasgn.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/gdtr.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/hyp2f1.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/hyperg.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/i0.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/i1.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/igam.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/igami.c.o
[ 16%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/incbet.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/incbi.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/j0.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/j1.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/jv.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/k0.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/k1.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/kn.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/kolmogorov.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/lanczos.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/nbdtr.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ndtr.c.o
[ 19%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/ndtri.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/owens_t.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/pdtr.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/poch.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/psi.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/rgamma.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/round.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/sf_error.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/shichi.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/sici.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/sindg.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/sinpi.c.o
[ 21%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/spence.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/stdtr.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/tandg.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/tukey.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/unity.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/yn.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/yv.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/zeta.c.o
[ 23%] Building C object gtsam/3rdparty/cephes/CMakeFiles/cephes-gtsam.dir/cephes/zetac.c.o
[ 23%] Linking C shared library libcephes-gtsam.so
[ 23%] Built target cephes-gtsam
Scanning dependencies of target CppUnitLite
[ 23%] Building CXX object CppUnitLite/CMakeFiles/CppUnitLite.dir/Test.cpp.o
[ 26%] Building CXX object CppUnitLite/CMakeFiles/CppUnitLite.dir/TestRegistry.cpp.o
[ 26%] Building CXX object CppUnitLite/CMakeFiles/CppUnitLite.dir/TestResult.cpp.o
[ 26%] Linking CXX static library libCppUnitLite.a
[ 26%] Built target CppUnitLite
Scanning dependencies of target gtsam
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/CCOLAMD/Source/ccolamd.c.o
[ 26%] Building C object gtsam/CMakeFiles/gtsam.dir/3rdparty/SuiteSparse_config/SuiteSparse_config.c.o
[ 26%] Building CXX object gtsam/CMakeFiles/gtsam.dir/base/DSFVector.cpp.o
FATAL: command execution failed
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: java.io.IOException: Backing channel 'JNLP4-connect connection from ip-10-0-1-173.us-west-1.compute.internal/10.0.1.173:41790' is disconnected.
at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:216)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:286)
at com.sun.proxy.$Proxy83.isAlive(Unknown Source)
at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1213)
at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1205)
at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:194)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:144)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
FATAL: Unable to delete script file /tmp/jenkins4641023145895792717.sh
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@68cb814f:JNLP4-connect connection from ip-10-0-1-173.us-west-1.compute.internal/10.0.1.173:41790": Remote call on JNLP4-connect connection from ip-10-0-1-173.us-west-1.compute.internal/10.0.1.173:41790 failed. The channel is closing down or has closed down
at hudson.remoting.Channel.call(Channel.java:994)
at hudson.FilePath.act(FilePath.java:1165)
at hudson.FilePath.act(FilePath.java:1154)
at hudson.FilePath.delete(FilePath.java:1681)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:162)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
Build step 'Execute shell' marked build as failure
ERROR: Step ‘Record compiler warnings and static analysis results’ aborted due to exception:
java.io.IOException: No workspace found for Ndev__gtsam__ubuntu_focal_amd64 #332
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.perform(IssuesRecorder.java:670)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
at hudson.model.Build$BuildExecution.post2(Build.java:178)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
at hudson.model.Run.execute(Run.java:1913)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
ERROR: Step ‘Publish xUnit test result report’ failed: no workspace for Ndev__gtsam__ubuntu_focal_amd64 #332

ROS Buildfarm

unread,
May 29, 2025, 3:32:17 PM5/29/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/333/display/redirect>

Changes:


------------------------------------------
[...truncated 326.84 KB...]
FATAL: command execution failed
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: java.io.IOException: Backing channel 'JNLP4-connect connection from ip-10-0-1-153.us-west-1.compute.internal/10.0.1.153:54254' is disconnected.
at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:216)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:286)
at com.sun.proxy.$Proxy83.isAlive(Unknown Source)
at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1213)
at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1205)
at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:194)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:144)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
FATAL: Unable to delete script file /tmp/jenkins6648955799796778555.sh
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@572c75f5:JNLP4-connect connection from ip-10-0-1-153.us-west-1.compute.internal/10.0.1.153:54254": Remote call on JNLP4-connect connection from ip-10-0-1-153.us-west-1.compute.internal/10.0.1.153:54254 failed. The channel is closing down or has closed down
at hudson.remoting.Channel.call(Channel.java:994)
at hudson.FilePath.act(FilePath.java:1165)
at hudson.FilePath.act(FilePath.java:1154)
at hudson.FilePath.delete(FilePath.java:1681)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:162)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
Build step 'Execute shell' marked build as failure
ERROR: Step ‘Record compiler warnings and static analysis results’ aborted due to exception:
java.io.IOException: No workspace found for Ndev__gtsam__ubuntu_focal_amd64 #333
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.perform(IssuesRecorder.java:670)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
at hudson.model.Build$BuildExecution.post2(Build.java:178)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
at hudson.model.Run.execute(Run.java:1913)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
ERROR: Step ‘Publish xUnit test result report’ failed: no workspace for Ndev__gtsam__ubuntu_focal_amd64 #333

ROS Buildfarm

unread,
May 29, 2025, 4:08:57 PM5/29/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/334/display/redirect>

Changes:


------------------------------------------
[...truncated 329.99 KB...]
Build step 'Execute shell' marked build as failure

ROS Buildfarm

unread,
May 30, 2025, 4:18:03 AM5/30/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, fan....@gatech.edu, gt...@lists.gatech.edu, jlbl...@ual.es, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/335/display/redirect>

Changes:


------------------------------------------
[...truncated 330.04 KB...]
Build step 'Execute shell' marked build as failure

ROS Buildfarm

unread,
Jun 1, 2025, 5:52:04 AM6/1/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/336/display/redirect>

Changes:


------------------------------------------
[...truncated 36.21 KB...]
Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 libassuan0 amd64 2.5.3-7ubuntu2 [35.7 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpgconf amd64 2.2.19-3ubuntu2.4 [124 kB]
Get:9 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libksba8 amd64 1.3.5-2ubuntu0.20.04.2 [95.2 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libroken18-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [42.5 kB]
Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libasn1-8-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [181 kB]
Get:12 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libheimbase1-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [30.4 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libhcrypto4-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [88.1 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libwind0-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [47.7 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libhx509-5-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [107 kB]
Get:16 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libkrb5-26-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [207 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libheimntlm0-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [15.1 kB]
Get:18 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libgssapi3-heimdal amd64 7.7.0+dfsg-1ubuntu1.4 [96.5 kB]
Get:19 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-2ubuntu0.1 [14.7 kB]
Get:20 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libsasl2-2 amd64 2.1.27+dfsg-2ubuntu0.1 [49.3 kB]
Get:21 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libldap-common all 2.4.49+dfsg-2ubuntu1.10 [16.5 kB]
Get:22 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libldap-2.4-2 amd64 2.4.49+dfsg-2ubuntu1.10 [155 kB]
Get:23 http://archive.ubuntu.com/ubuntu focal/main amd64 libnpth0 amd64 1.6-1 [7,736 B]
Get:24 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 dirmngr amd64 2.2.19-3ubuntu2.4 [329 kB]
Get:25 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gnupg-l10n all 2.2.19-3ubuntu2.4 [51.9 kB]
Get:26 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gnupg-utils amd64 2.2.19-3ubuntu2.4 [481 kB]
Get:27 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg amd64 2.2.19-3ubuntu2.4 [482 kB]
Get:28 http://archive.ubuntu.com/ubuntu focal/main amd64 pinentry-curses amd64 1.1.0-3build1 [36.3 kB]
Get:29 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg-agent amd64 2.2.19-3ubuntu2.4 [232 kB]
Get:30 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg-wks-client amd64 2.2.19-3ubuntu2.4 [97.4 kB]
Get:31 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg-wks-server amd64 2.2.19-3ubuntu2.4 [90.1 kB]
Get:32 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpgsm amd64 2.2.19-3ubuntu2.4 [217 kB]
Get:33 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gnupg all 2.2.19-3ubuntu2.4 [259 kB]
Get:34 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libsasl2-modules amd64 2.1.27+dfsg-2ubuntu0.1 [48.8 kB]
[91mdebconf: delaying package configuration, since apt-utils is not installed
[0mFetched 6,475 kB in 2s (3,112 kB/s)
Selecting previously unselected package libssl1.1:amd64.
(Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 4743 files and directories currently installed.)
Preparing to unpack .../00-libssl1.1_1.1.1f-1ubuntu2.24_amd64.deb ...
Unpacking libssl1.1:amd64 (1.1.1f-1ubuntu2.24) ...
Selecting previously unselected package openssl.
Preparing to unpack .../01-openssl_1.1.1f-1ubuntu2.24_amd64.deb ...
Unpacking openssl (1.1.1f-1ubuntu2.24) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../02-ca-certificates_20240203~20.04.1_all.deb ...
Unpacking ca-certificates (20240203~20.04.1) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../03-readline-common_8.0-4_all.deb ...
Unpacking readline-common (8.0-4) ...
Selecting previously unselected package libreadline8:amd64.
Preparing to unpack .../04-libreadline8_8.0-4_amd64.deb ...
Unpacking libreadline8:amd64 (8.0-4) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../05-libsqlite3-0_3.31.1-4ubuntu0.7_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.31.1-4ubuntu0.7) ...
Selecting previously unselected package libassuan0:amd64.
Preparing to unpack .../06-libassuan0_2.5.3-7ubuntu2_amd64.deb ...
Unpacking libassuan0:amd64 (2.5.3-7ubuntu2) ...
Selecting previously unselected package gpgconf.
Preparing to unpack .../07-gpgconf_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gpgconf (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package libksba8:amd64.
Preparing to unpack .../08-libksba8_1.3.5-2ubuntu0.20.04.2_amd64.deb ...
Unpacking libksba8:amd64 (1.3.5-2ubuntu0.20.04.2) ...
Selecting previously unselected package libroken18-heimdal:amd64.
Preparing to unpack .../09-libroken18-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libroken18-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libasn1-8-heimdal:amd64.
Preparing to unpack .../10-libasn1-8-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libasn1-8-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libheimbase1-heimdal:amd64.
Preparing to unpack .../11-libheimbase1-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libheimbase1-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libhcrypto4-heimdal:amd64.
Preparing to unpack .../12-libhcrypto4-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libhcrypto4-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libwind0-heimdal:amd64.
Preparing to unpack .../13-libwind0-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libwind0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libhx509-5-heimdal:amd64.
Preparing to unpack .../14-libhx509-5-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libhx509-5-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libkrb5-26-heimdal:amd64.
Preparing to unpack .../15-libkrb5-26-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libkrb5-26-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libheimntlm0-heimdal:amd64.
Preparing to unpack .../16-libheimntlm0-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libheimntlm0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libgssapi3-heimdal:amd64.
Preparing to unpack .../17-libgssapi3-heimdal_7.7.0+dfsg-1ubuntu1.4_amd64.deb ...
Unpacking libgssapi3-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../18-libsasl2-modules-db_2.1.27+dfsg-2ubuntu0.1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../19-libsasl2-2_2.1.27+dfsg-2ubuntu0.1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../20-libldap-common_2.4.49+dfsg-2ubuntu1.10_all.deb ...
Unpacking libldap-common (2.4.49+dfsg-2ubuntu1.10) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../21-libldap-2.4-2_2.4.49+dfsg-2ubuntu1.10_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.49+dfsg-2ubuntu1.10) ...
Selecting previously unselected package libnpth0:amd64.
Preparing to unpack .../22-libnpth0_1.6-1_amd64.deb ...
Unpacking libnpth0:amd64 (1.6-1) ...
Selecting previously unselected package dirmngr.
Preparing to unpack .../23-dirmngr_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking dirmngr (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gnupg-l10n.
Preparing to unpack .../24-gnupg-l10n_2.2.19-3ubuntu2.4_all.deb ...
Unpacking gnupg-l10n (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gnupg-utils.
Preparing to unpack .../25-gnupg-utils_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gnupg-utils (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gpg.
Preparing to unpack .../26-gpg_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gpg (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package pinentry-curses.
Preparing to unpack .../27-pinentry-curses_1.1.0-3build1_amd64.deb ...
Unpacking pinentry-curses (1.1.0-3build1) ...
Selecting previously unselected package gpg-agent.
Preparing to unpack .../28-gpg-agent_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gpg-agent (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gpg-wks-client.
Preparing to unpack .../29-gpg-wks-client_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gpg-wks-client (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gpg-wks-server.
Preparing to unpack .../30-gpg-wks-server_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gpg-wks-server (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gpgsm.
Preparing to unpack .../31-gpgsm_2.2.19-3ubuntu2.4_amd64.deb ...
Unpacking gpgsm (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package gnupg.
Preparing to unpack .../32-gnupg_2.2.19-3ubuntu2.4_all.deb ...
Unpacking gnupg (2.2.19-3ubuntu2.4) ...
Selecting previously unselected package libsasl2-modules:amd64.
Preparing to unpack .../33-libsasl2-modules_2.1.27+dfsg-2ubuntu0.1_amd64.deb ...
Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Setting up libksba8:amd64 (1.3.5-2ubuntu0.20.04.2) ...
Setting up libssl1.1:amd64 (1.1.1f-1ubuntu2.24) ...
Setting up libsqlite3-0:amd64 (3.31.1-4ubuntu0.7) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Setting up libnpth0:amd64 (1.6-1) ...
Setting up libassuan0:amd64 (2.5.3-7ubuntu2) ...
Setting up libldap-common (2.4.49+dfsg-2ubuntu1.10) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Setting up gnupg-l10n (2.2.19-3ubuntu2.4) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Setting up libroken18-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up openssl (1.1.1f-1ubuntu2.24) ...
Setting up readline-common (8.0-4) ...
Setting up libheimbase1-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up pinentry-curses (1.1.0-3build1) ...
Setting up libasn1-8-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up libreadline8:amd64 (8.0-4) ...
Setting up libhcrypto4-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up ca-certificates (20240203~20.04.1) ...
Updating certificates in /etc/ssl/certs...
146 added, 0 removed; done.
Setting up libwind0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up gpgconf (2.2.19-3ubuntu2.4) ...
Setting up gpg (2.2.19-3ubuntu2.4) ...
Setting up gnupg-utils (2.2.19-3ubuntu2.4) ...
Setting up gpg-agent (2.2.19-3ubuntu2.4) ...
Setting up libhx509-5-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up gpgsm (2.2.19-3ubuntu2.4) ...
Setting up gpg-wks-server (2.2.19-3ubuntu2.4) ...
Setting up libkrb5-26-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up libheimntlm0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up libgssapi3-heimdal:amd64 (7.7.0+dfsg-1ubuntu1.4) ...
Setting up libldap-2.4-2:amd64 (2.4.49+dfsg-2ubuntu1.10) ...
Setting up dirmngr (2.2.19-3ubuntu2.4) ...
Setting up gpg-wks-client (2.2.19-3ubuntu2.4) ...
Setting up gnupg (2.2.19-3ubuntu2.4) ...
Processing triggers for libc-bin (2.31-0ubuntu9.17) ...
Processing triggers for ca-certificates (20240203~20.04.1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Removing intermediate container af57af5fe603
---> a375021a3353
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Running in 6c32a14643b0
[91mWarning: apt-key output should not be parsed (stdout is not a terminal)
[0mOK
Removing intermediate container 6c32a14643b0
---> 7fbc9e35dd1d
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Running in 220c79656525
deb http://repositories.ros.org/ubuntu/testing focal main
Removing intermediate container 220c79656525
---> 3fd996c98649
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Running in 6dabc99ce245
Removing intermediate container 6dabc99ce245
---> 3cf9e91d16cf
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Running in 74158abceafc
Removing intermediate container 74158abceafc
---> dad47c86476c
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Running in 676ec920d7b5
Removing intermediate container 676ec920d7b5
---> f1d0ae7b5b2f
Step 18/27 : RUN echo "2025-06-01 (-0800)"
---> Running in a4a146642a0e
2025-06-01 (-0800)
Removing intermediate container a4a146642a0e
---> 5c58f02f9eed
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in e6e1b5acec58
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container e6e1b5acec58
The command '/bin/sh -c for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done' returned a non-zero code: 1

ROS Buildfarm

unread,
Jun 3, 2025, 2:52:14 AM6/3/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/337/display/redirect>
[0mFetched 6,475 kB in 5s (1,335 kB/s)
Removing intermediate container f2c75df8da41
---> 77cfc0d3b786
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Running in 4def44f9741c
[91mWarning: apt-key output should not be parsed (stdout is not a terminal)
[0mOK
Removing intermediate container 4def44f9741c
---> 69e1f81f3f80
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Running in 3b3e30b8be27
Removing intermediate container 3b3e30b8be27
---> 8aa7bd341260
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Running in 88ef457b5858
Removing intermediate container 88ef457b5858
---> 9ed486a156e5
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Running in 313c739b1f69
Removing intermediate container 313c739b1f69
---> 47f3e33092b5
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Running in d5bf47724d52
Removing intermediate container d5bf47724d52
---> 8972a30b8d7c
Step 18/27 : RUN echo "2025-06-02 (-0800)"
---> Running in f6f1e3c10565
2025-06-02 (-0800)
Removing intermediate container f6f1e3c10565
---> a61263d9f8d1
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 7e0d90649c6a
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 7e0d90649c6a

ROS Buildfarm

unread,
Jun 5, 2025, 4:52:25 AM6/5/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/338/display/redirect>

Changes:


------------------------------------------
[...truncated 36.30 KB...]
[0mFetched 6,475 kB in 2s (3,011 kB/s)
Removing intermediate container c43db10f4713
---> c6e2f5ecdb8e
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Running in 1862d051727e
[91mWarning: apt-key output should not be parsed (stdout is not a terminal)
[0mOK
Removing intermediate container 1862d051727e
---> a2fc8374e003
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Running in be2904ee6f3f
Removing intermediate container be2904ee6f3f
---> 99e4b5a2c530
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Running in b37eb6c679b8
Removing intermediate container b37eb6c679b8
---> 6e9c482a1115
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Running in d24d6ec3ad9d
Removing intermediate container d24d6ec3ad9d
---> bed34894e31d
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Running in 056dc3bf2dc0
Removing intermediate container 056dc3bf2dc0
---> 0cfceef01b32
Step 18/27 : RUN echo "2025-06-05 (-0800)"
---> Running in 13719832b713
2025-06-05 (-0800)
Removing intermediate container 13719832b713
---> 55c7e5bf1b49
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 894fd044963f
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 894fd044963f

ROS Buildfarm

unread,
Jun 6, 2025, 9:51:40 AM6/6/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/339/display/redirect>

Changes:


------------------------------------------
[...truncated 7.19 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins4035879331510020114.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins3248802755052716802.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins4302607983800942306.sh
+ echo # BEGIN SECTION: Write PGP repository keys
# BEGIN SECTION: Write PGP repository keys
+ mkdir -p <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/keys>
+ rm -fr <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/keys/*>
+ echo -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc
VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro
u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4
K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG
aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+
TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz
pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p
V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT
hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/
/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV
okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB
tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA
PgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur
F8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB
RQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z
PyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa
DaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC
Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR
fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0
quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
WE+F5FaIKwb72PL4rLi4
=i0tj
-----END PGP PUBLIC KEY BLOCK-----

+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins5615284453804933396.sh
+ rm -fr <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers>
+ mkdir -p <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers>
+ sleep 1
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 82966 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
+ export build_tool_args=
+ export build_tool_test_args=
+ echo # BEGIN SECTION: Generate Dockerfile - devel tasks
# BEGIN SECTION: Generate Dockerfile - devel tasks
+ export TZ=PST+08
+ export PYTHONPATH=<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm>:
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/devel/run_devel_job.py> --rosdistro-index-url https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml noetic default gtsam ubuntu focal amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/keys/0.key> --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers> --build-tool-args --build-tool-test-args
Using the following distribution repositories:
http://repositories.ros.org/ubuntu/testing (<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/keys/0.key)>
Generating Dockerfile '<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/Dockerfile'>:
# generated from devel/devel_create_tasks.Dockerfile.em

FROM ubuntu:focal

VOLUME ["/var/cache/apt/archives"]

ENV DEBIAN_FRONTEND noninteractive

# Opt-out of phased updates, which can create inconsistencies between installed package versions as different containers end up on different phases.
# https://wiki.ubuntu.com/PhasedUpdates
RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV TZ PST+08

# Add user 'buildfarm', removing any existing user with that UID
RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm


RUN mkdir /tmp/keys
RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list

RUN mkdir /tmp/wrapper_scripts
RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py

# automatic invalidation once every day
RUN echo "2025-06-06 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-06 05:51:22 -0800"
RUN python3 -u /tmp/wrapper_scripts/apt.py update

ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml

RUN rosdep init

USER buildfarm

ENTRYPOINT ["sh", "-c"]
CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name noetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name focal --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name noetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name focal --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Build Dockerfile - generating devel tasks
# BEGIN SECTION: Build Dockerfile - generating devel tasks
+ cd <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers>
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/misc/docker_pull_baseimage.py>
Get base image name from Dockerfile 'Dockerfile': ubuntu:focal
Check docker base image for updates: docker pull ubuntu:focal
focal: Pulling from library/ubuntu
Digest: sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214
Status: Image is up to date for ubuntu:focal
docker.io/library/ubuntu:focal
+ docker build --force-rm -t devel_task_generation.noetic_gtsam .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/

Sending build context to Docker daemon 17.92kB
Step 1/27 : FROM ubuntu:focal
---> b7bab04fd9aa
Step 2/27 : VOLUME ["/var/cache/apt/archives"]
---> Using cache
---> 15f91d3b20d0
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 0a8e291bd829
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> 315b49fb176b
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> c128d72ef838
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 431e401aae1a
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> cf2ee153527e
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> b4b58aef0b96
Step 9/27 : ENV TZ PST+08
---> Using cache
---> 49d8a71ef9dc
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 584cc19b1806
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> cf955fc313c6
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 95ab8b5c8bc5
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 6d846c43a046
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> da62516e47d6
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> e178ececf6fc
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> e96d2d20afb6
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 3647f4d0f447
Step 18/27 : RUN echo "2025-06-06 (-0800)"
---> Using cache
---> b0a305533568
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 66c2ebd1305d
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 66c2ebd1305d

ROS Buildfarm

unread,
Jun 6, 2025, 12:51:48 PM6/6/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/340/display/redirect>

Changes:


------------------------------------------
[...truncated 7.20 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins1961146090409258065.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins2196717085217871468.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins6701237872780240529.sh
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins6022549025825678941.sh
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 29624 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
RUN echo "2025-06-06 08:51:19 -0800"
---> 81717dc79ae9
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 70f8cf7cfa3a
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> e19a0fe2850f
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 7c13fb42d541
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 261ac9f5754e
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 68b73a8ef47f
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> 1197da1174d2
Step 9/27 : ENV TZ PST+08
---> Using cache
---> a94f10fe2dee
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 7a720d4304d2
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> 7e102b72b67d
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 5e7e5c040105
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 2bc2213d7a6c
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> b3a6edcb8f13
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 37c90f2992dc
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> 1d0a055c25fc
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 6e25f7a29de7
Step 18/27 : RUN echo "2025-06-06 (-0800)"
---> Using cache
---> db7a74fcfd41
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 724d3ad83178
[0mRemoving intermediate container 724d3ad83178

ROS Buildfarm

unread,
Jun 9, 2025, 10:51:42 PM6/9/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/341/display/redirect>

Changes:


------------------------------------------
[...truncated 7.36 KB...]
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins8482771946100283697.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins6386654043114695334.sh
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins6116740574655565390.sh
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 608795 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
RUN echo "2025-06-09 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-09 18:51:22 -0800"
---> 146162193e72
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> ee6b4889023e
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> a36ac6dccf37
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 28c69fa18386
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 8b35bbb433c0
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 30b4c8f362fb
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> 7dd7af9c4ff8
Step 9/27 : ENV TZ PST+08
---> Using cache
---> 9816af9f2927
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> ac69c52f1cd7
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> 05515b509c50
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> a2095f2c9335
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> e16c79f5ef34
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 7b010d13e10d
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 4ce7cac3c7ef
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> 99aa928d1679
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 924c43a7306c
Step 18/27 : RUN echo "2025-06-09 (-0800)"
---> Using cache
---> 61707d60c810
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 6dcd7e6c9a85
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [4,431 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [1,308 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [4,919 kB]
Get:9 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1,599 kB]
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 6dcd7e6c9a85

ROS Buildfarm

unread,
Jun 12, 2025, 3:51:38 AM6/12/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/342/display/redirect>

Changes:


------------------------------------------
[...truncated 7.19 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins6570518088679968657.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins996759710940440429.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins2937407270148300652.sh
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins5516107487975656241.sh
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 20908 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
RUN echo "2025-06-11 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-11 23:51:19 -0800"
---> 81a1d3f85679
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 5a40a4419b4e
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> fbb059055f53
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> c55296f214de
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 1a837e9a18f7
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 2a737fd8866f
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> 336fbbdf2a92
Step 9/27 : ENV TZ PST+08
---> Using cache
---> e8dedbe0dd8e
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 18465aee6ccc
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> 1bb78bb6a29e
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 32e6b0e796e0
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 68c2571d2f25
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 1bb815c28e2f
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 9adde65ea559
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> ff57eeb03875
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 20239d4ff67b
Step 18/27 : RUN echo "2025-06-11 (-0800)"
---> Using cache
---> 7dd1193a4ed5
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 3f8ca91f9991
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 3f8ca91f9991

ROS Buildfarm

unread,
Jun 13, 2025, 1:51:42 PM6/13/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/343/display/redirect>

Changes:


------------------------------------------
[...truncated 7.20 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins5151391553596496336.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins937709843545201952.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins5198958390245819253.sh
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins2447938060942073855.sh
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 209213 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
RUN echo "2025-06-13 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-13 09:51:21 -0800"
---> b76cfde7faf7
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> ed5b47df286d
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> 6062bb876635
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 2279ecf42b58
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 91a692f8a2ea
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 375708742ed2
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> cfcc00074e50
Step 9/27 : ENV TZ PST+08
---> Using cache
---> f029f1471a88
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 543df19c5548
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> ed033eb5f480
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> af6642917357
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 629ca731dabe
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 0ee24176a33e
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 67f24ce363a0
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> a28d2ad95b9d
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 413236fe9d07
Step 18/27 : RUN echo "2025-06-13 (-0800)"
---> Using cache
---> 72cec62ddc6e
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 13dbda392108
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 13dbda392108

ROS Buildfarm

unread,
Jun 13, 2025, 6:51:38 PM6/13/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/344/display/redirect>

Changes:


------------------------------------------
[...truncated 7.18 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins2177723168263444249.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins5595534376416261702.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins4845108042418618833.sh
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins7666320893452600871.sh
+ sleep+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 47451 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
1
RUN echo "2025-06-13 14:51:18 -0800"
---> a0f432e345a1
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 1b9782243257
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> a4c13ffcac06
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> f782d9500547
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> ecc6ea5b6c94
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 4c5465e048e9
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> 2d7c0f1289e7
Step 9/27 : ENV TZ PST+08
---> Using cache
---> 9270c4d5aa45
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 173caf12acf8
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> 036b5c2e89bb
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> b3a10c9a5c7b
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 16d07f109dad
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 287afd3d953e
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 0c1e4d25e946
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> 4d86e941c625
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> eebff61bdab4
Step 18/27 : RUN echo "2025-06-13 (-0800)"
---> Using cache
---> 4820faa1a8cb
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 9ce5449139fb
[0mRemoving intermediate container 9ce5449139fb

ROS Buildfarm

unread,
Jun 17, 2025, 2:52:13 PM6/17/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/345/display/redirect>

Changes:


------------------------------------------
[...truncated 35.86 KB...]
[0mFetched 6,475 kB in 2s (3,121 kB/s)
Removing intermediate container aea9e25dd08f
---> 21c506e81b14
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Running in 1c8ec639b918
[91mWarning: apt-key output should not be parsed (stdout is not a terminal)
[0mOK
Removing intermediate container 1c8ec639b918
---> 2506722b8dcc
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Running in b19227440297
Removing intermediate container b19227440297
---> d4f1ac2ff3b5
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Running in 0ca1110aa168
Removing intermediate container 0ca1110aa168
---> 13d6ea63efbc
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Running in f5f5c68db26c
Removing intermediate container f5f5c68db26c
---> c603eb4d4e2a
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Running in fc42fc3d16c6
Removing intermediate container fc42fc3d16c6
---> 3a73fa26cedf
Step 18/27 : RUN echo "2025-06-17 (-0800)"
---> Running in 6c6b867d275a
2025-06-17 (-0800)
Removing intermediate container 6c6b867d275a
---> b4aa61b7602e
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 176890bc3c63
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
[0mRemoving intermediate container 176890bc3c63

ROS Buildfarm

unread,
Jun 18, 2025, 10:51:36 AM6/18/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/346/display/redirect>

Changes:


------------------------------------------
[...truncated 7.19 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins3368778127769370106.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins6360776797578389691.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins5007043050487342001.sh
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins3047507749644105971.sh
+ sleep 1
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 28725 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list

RUN mkdir /tmp/wrapper_scripts
RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py

# automatic invalidation once every day
RUN echo "2025-06-18 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-18 06:51:18 -0800"
---> 0d314d1b2954
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 8136f7142b09
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> 798c4415296c
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 8ebde6bdaf45
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 455649ed483d
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 5851e7c22ddd
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> f3e0b17ea2bd
Step 9/27 : ENV TZ PST+08
---> Using cache
---> bd04abae66e4
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 32c847924713
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> 8c90026c7a37
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 5ff59f1ce8ef
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 11cf4502dbf6
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> cc18236d5c5b
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 659f85f5884f
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> 427180640867
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 499e2f8f39f6
Step 18/27 : RUN echo "2025-06-18 (-0800)"
---> Using cache
---> 4c6c0c1f6a46
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 1d81d67a5826
[0mRemoving intermediate container 1d81d67a5826

ROS Buildfarm

unread,
Jun 18, 2025, 5:52:04 PM6/18/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/347/display/redirect>
[0mFetched 6,475 kB in 1s (5,656 kB/s)
Removing intermediate container 2633de02c878
---> 75db49eda7ff
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Running in d448990399f2
[91mWarning: apt-key output should not be parsed (stdout is not a terminal)
[0mOK
Removing intermediate container d448990399f2
---> 908632c73680
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Running in c3f11a4a3577
Removing intermediate container c3f11a4a3577
---> 7e6d811b3372
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Running in 6975b5968bdd
Removing intermediate container 6975b5968bdd
---> f0c45aec5e8b
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Running in ad134025ea83
Removing intermediate container ad134025ea83
---> 00748e7a1184
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Running in 8db60005b04d
Removing intermediate container 8db60005b04d
---> acbfe9813c6a
Step 18/27 : RUN echo "2025-06-18 (-0800)"
---> Running in 30e35c671f7b
2025-06-18 (-0800)
Removing intermediate container 30e35c671f7b
---> fd83b87dc1b2
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 8ba38ba6d9bd
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 8ba38ba6d9bd

ROS Buildfarm

unread,
Jun 28, 2025, 1:52:00 AM6/28/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/348/display/redirect>

Changes:


------------------------------------------
[...truncated 36.21 KB...]
[0mFetched 6,475 kB in 1s (5,197 kB/s)
Removing intermediate container 3b27a99cb151
---> 7d0248caa90a
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Running in 15dc6049acc4
[91mWarning: apt-key output should not be parsed (stdout is not a terminal)
[0mOK
Removing intermediate container 15dc6049acc4
---> f9b8f4e25377
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Running in d364d010de28
Removing intermediate container d364d010de28
---> b3186d08047c
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Running in 7e05bbdbada5
Removing intermediate container 7e05bbdbada5
---> d60a6f2d2d2d
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Running in 7e982272a9b5
Removing intermediate container 7e982272a9b5
---> b855c5005cb5
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Running in 5f1961bbb8a6
Removing intermediate container 5f1961bbb8a6
---> 14825ce13707
Step 18/27 : RUN echo "2025-06-27 (-0800)"
---> Running in bbadddee5fb1
2025-06-27 (-0800)
Removing intermediate container bbadddee5fb1
---> 923b7e3705c3
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 56f6b6ed4398
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 56f6b6ed4398

ROS Buildfarm

unread,
Jun 30, 2025, 11:51:40 AM6/30/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/349/display/redirect>

Changes:


------------------------------------------
[...truncated 14.80 KB...]
VOLUME ["/var/cache/apt/archives"]

ENV DEBIAN_FRONTEND noninteractive

# Opt-out of phased updates, which can create inconsistencies between installed package versions as different containers end up on different phases.
# https://wiki.ubuntu.com/PhasedUpdates
RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV TZ PST+08

# Add user 'buildfarm', removing any existing user with that UID
RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm


RUN mkdir /tmp/keys
RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list

RUN mkdir /tmp/wrapper_scripts
RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py

# automatic invalidation once every day
RUN echo "2025-06-30 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-30 07:51:19 -0800"
RUN python3 -u /tmp/wrapper_scripts/apt.py update

ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml

RUN rosdep init

USER buildfarm

ENTRYPOINT ["sh", "-c"]
CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name noetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name focal --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name noetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name focal --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Build Dockerfile - generating devel tasks
# BEGIN SECTION: Build Dockerfile - generating devel tasks
+ cd /home/jenkins-agent/workspace/Ndev__gtsam__ubuntu_focal_amd64/docker_generating_dockers
+ python3 -u /home/jenkins-agent/workspace/Ndev__gtsam__ubuntu_focal_amd64/ros_buildfarm/scripts/misc/docker_pull_baseimage.py
Get base image name from Dockerfile 'Dockerfile': ubuntu:focal
Check docker base image for updates: docker pull ubuntu:focal
focal: Pulling from library/ubuntu
Digest: sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214
Status: Image is up to date for ubuntu:focal
docker.io/library/ubuntu:focal
+ docker build --force-rm -t devel_task_generation.noetic_gtsam .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/

Sending build context to Docker daemon 17.92kB
Step 1/27 : FROM ubuntu:focal
---> b7bab04fd9aa
Step 2/27 : VOLUME ["/var/cache/apt/archives"]
---> Using cache
---> 398d04906c25
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> c4a3083dc443
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Running in 4d15d6266dc3
Removing intermediate container 4d15d6266dc3
---> 132de2230817
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 521871fb3db1
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
Get:2 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [33.1 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [1308 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
Get:7 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
Get:9 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [4431 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
Get:11 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
Get:12 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [4801 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [36.8 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [4998 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [4919 kB]
Get:16 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1599 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [55.2 kB]
Get:18 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [28.6 kB]
Fetched 35.7 MB in 4s (9611 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
locales
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 3864 kB of archives.
After this operation, 17.6 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 locales all 2.31-0ubuntu9.18 [3864 kB]
[91mdebconf: delaying package configuration, since apt-utils is not installed
[0mFetched 3864 kB in 1s (2609 kB/s)
Selecting previously unselected package locales.
(Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 4124 files and directories currently installed.)
Preparing to unpack .../locales_2.31-0ubuntu9.18_all.deb ...
Unpacking locales (2.31-0ubuntu9.18) ...
Setting up locales (2.31-0ubuntu9.18) ...
Generating locales (this might take a while)...
Generation complete.
Removing intermediate container 521871fb3db1
---> a061830d22b0
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Running in 99bb61f7c9c8
Removing intermediate container 99bb61f7c9c8
---> 01e138a24f79
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Running in d9047b82b00c
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
Removing intermediate container d9047b82b00c
---> bdf6aa2925e2
Step 8/27 : ENV LANG en_US.UTF-8
---> Running in a51924e29005
Removing intermediate container a51924e29005
---> 22d528a56730
Step 9/27 : ENV TZ PST+08
---> Running in cc25839578bd
Removing intermediate container cc25839578bd
---> 1ed9bfc35bfa
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Running in 4d2d00912c6e
[91mid: ‘1001’: no such user
[0mRemoving intermediate container 4d2d00912c6e
---> 3af875a3dab1
Step 11/27 : RUN mkdir /tmp/keys
---> Running in 00edcfd91f6e
Removing intermediate container 00edcfd91f6e
---> 3e9952b3884c
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 121567afc422
Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
dirmngr gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server
gpgconf gpgsm libasn1-8-heimdal libassuan0 libgssapi3-heimdal
libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal
libhx509-5-heimdal libkrb5-26-heimdal libksba8 libldap-2.4-2 libldap-common
libnpth0 libreadline8 libroken18-heimdal libsasl2-2 libsasl2-modules
libsasl2-modules-db libsqlite3-0 libssl1.1 libwind0-heimdal openssl
pinentry-curses readline-common
Suggested packages:
dbus-user-session libpam-systemd pinentry-gnome3 tor parcimonie xloadimage
scdaemon libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql pinentry-doc
readline-doc
The following NEW packages will be installed:
ca-certificates dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent
gpg-wks-client gpg-wks-server gpgconf gpgsm libasn1-8-heimdal libassuan0
libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal
libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libksba8
libldap-2.4-2 libldap-common libnpth0 libreadline8 libroken18-heimdal
libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssl1.1
libwind0-heimdal openssl pinentry-curses readline-common
0 upgraded, 34 newly installed, 0 to remove and 4 not upgraded.
Need to get 6,475 kB of archives.
After this operation, 19.4 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libssl1.1 amd64 1.1.1f-1ubuntu2.24 [1,323 kB]
FATAL: command execution failed
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: java.io.IOException: Backing channel 'JNLP4-connect connection from ip-10-0-1-147.us-west-1.compute.internal/10.0.1.147:59846' is disconnected.
at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:216)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:286)
at com.sun.proxy.$Proxy83.isAlive(Unknown Source)
at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1213)
at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1205)
at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:194)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:144)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
FATAL: Unable to delete script file /tmp/jenkins5617811359214934493.sh
java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:142)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:790)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@b73601:JNLP4-connect connection from ip-10-0-1-147.us-west-1.compute.internal/10.0.1.147:59846": Remote call on JNLP4-connect connection from ip-10-0-1-147.us-west-1.compute.internal/10.0.1.147:59846 failed. The channel is closing down or has closed down
at hudson.remoting.Channel.call(Channel.java:994)
at hudson.FilePath.act(FilePath.java:1165)
at hudson.FilePath.act(FilePath.java:1154)
at hudson.FilePath.delete(FilePath.java:1681)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:162)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:91)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1888)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
Build step 'Execute shell' marked build as failure
ERROR: Step ‘Record compiler warnings and static analysis results’ aborted due to exception:
java.io.IOException: No workspace found for Ndev__gtsam__ubuntu_focal_amd64 #349
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.perform(IssuesRecorder.java:670)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
at hudson.model.Build$BuildExecution.post2(Build.java:178)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
at hudson.model.Run.execute(Run.java:1913)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:432)
ERROR: Step ‘Publish xUnit test result report’ failed: no workspace for Ndev__gtsam__ubuntu_focal_amd64 #349

ROS Buildfarm

unread,
Jun 30, 2025, 11:52:06 AM6/30/25
to ros-buildf...@googlegroups.com, sloretz+...@openrobotics.org, gt...@lists.gatech.edu, git...@stefanfabian.me
See <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/350/display/redirect>

Changes:


------------------------------------------
[...truncated 6.80 KB...]
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins8084779614236513302.sh
+ echo # BEGIN SECTION: Embed wrapper scripts
# BEGIN SECTION: Embed wrapper scripts
+ rm -fr wrapper_scripts
+ mkdir wrapper_scripts
+ printf # Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins3401047323668041714.sh
+ echo # BEGIN SECTION: Clone ros_buildfarm
# BEGIN SECTION: Clone ros_buildfarm
+ rm -fr ros_buildfarm
+ python3 -u wrapper_scripts/git.py clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm
Invoking 'git clone --depth 1 -b build.ros.org https://github.com/ros-infrastructure/ros_buildfarm.git ros_buildfarm'
Cloning into 'ros_buildfarm'...
+ git -C ros_buildfarm --no-pager log -n 1
commit ce1d3f6d574ca36f0bd5ed60a8d899b8035e4b55
Author: Crola1702 <cristoba...@ekumenlabs.com>
Date: Wed Apr 2 17:35:30 2025 -0500

Revert 24.04 jenkins changes from (#1084)"

This reverts the changes to commit to reconfigure_jobs.groovy.em template,
that needs DiffUtils. However, that is not supported on the current
version of build.ros.org

Signed-off-by: Crola1702 <cristoba...@ekumenlabs.com>
+ rm -fr ros_buildfarm/.git
+ rm -fr ros_buildfarm/doc
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins2210666875947811355.sh
+ echo # END SECTION
# END SECTION
[Ndev__gtsam__ubuntu_focal_amd64] $ /bin/sh -xe /tmp/jenkins7904262521657320242.sh
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 16110 --cid-file <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/docker.cid>
+ export build_tool_args=
+ export build_tool_test_args=
+ echo # BEGIN SECTION: Generate Dockerfile - devel tasks
# BEGIN SECTION: Generate Dockerfile - devel tasks
+ export TZ=PST+08
+ export PYTHONPATH=<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm>:
+ python3 -u <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/ros_buildfarm/scripts/devel/run_devel_job.py> --rosdistro-index-url https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml noetic default gtsam ubuntu focal amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/keys/0.key> --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir <https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers> --build-tool-args --build-tool-test-args
Using the following distribution repositories:
http://repositories.ros.org/ubuntu/testing (<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/keys/0.key)>
Generating Dockerfile '<https://build.ros.org/job/Ndev__gtsam__ubuntu_focal_amd64/ws/docker_generating_dockers/Dockerfile'>:
# generated from devel/devel_create_tasks.Dockerfile.em

FROM ubuntu:focal

VOLUME ["/var/cache/apt/archives"]

ENV DEBIAN_FRONTEND noninteractive

# Opt-out of phased updates, which can create inconsistencies between installed package versions as different containers end up on different phases.
# https://wiki.ubuntu.com/PhasedUpdates
RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV TZ PST+08

# Add user 'buildfarm', removing any existing user with that UID
RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm


RUN mkdir /tmp/keys
RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list

RUN mkdir /tmp/wrapper_scripts
RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py

# automatic invalidation once every day
RUN echo "2025-06-30 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2025-06-30 07:51:46 -0800"
RUN python3 -u /tmp/wrapper_scripts/apt.py update

ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml

RUN rosdep init

USER buildfarm

ENTRYPOINT ["sh", "-c"]
CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name noetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name focal --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name noetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name focal --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/testing --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=3 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Build Dockerfile - generating devel tasks
# BEGIN SECTION: Build Dockerfile - generating devel tasks
Get base image name from Dockerfile 'Dockerfile': ubuntu:focal
Check docker base image for updates: docker pull ubuntu:focal
focal: Pulling from library/ubuntu
Digest: sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214
Status: Image is up to date for ubuntu:focal
docker.io/library/ubuntu:focal
+ docker build --force-rm -t devel_task_generation.noetic_gtsam .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/

Sending build context to Docker daemon 17.92kB
Step 1/27 : FROM ubuntu:focal
---> b7bab04fd9aa
Step 2/27 : VOLUME ["/var/cache/apt/archives"]
---> Using cache
---> b04b82d320ff
Step 3/27 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> d1239d4327d5
Step 4/27 : RUN echo 'APT::Get::Never-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/90-phased-updates
---> Using cache
---> 72e4e57630ad
Step 5/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 5f49c08751c9
Step 6/27 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> b4e99e1c3a4f
Step 7/27 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 969f2a36e92f
Step 8/27 : ENV LANG en_US.UTF-8
---> Using cache
---> f64f5af582db
Step 9/27 : ENV TZ PST+08
---> Using cache
---> 6edbd240c694
Step 10/27 : RUN if [ $(id -nu 1001) ]; then userdel -r $(id -nu 1001); fi && useradd -u 1001 -l -m buildfarm
---> Using cache
---> 26d5f2bd053d
Step 11/27 : RUN mkdir /tmp/keys
---> Using cache
---> 902ec92f9b18
Step 12/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg ca-certificates && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 7c144b3a3880
Step 13/27 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> fe5846d50c4b
Step 14/27 : RUN echo deb http://repositories.ros.org/ubuntu/testing focal main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 2df5cbc52ea8
Step 15/27 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 8fb79cbeaae4
Step 16/27 : RUN echo "# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> c28fa13e3322
Step 17/27 : RUN echo "# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> b894683fdf0f
Step 18/27 : RUN echo "2025-06-30 (-0800)"
---> Using cache
---> eab0be87eeb4
Step 19/27 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Running in 7a16bade279b
Get:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mGet:1 http://repositories.ros.org/ubuntu/testing focal InRelease [4,679 B]
Err:1 http://repositories.ros.org/ubuntu/testing focal InRelease
The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:5 http://security.ubuntu.com/ubuntu focal-security InRelease
Reading package lists...
[91mW: GPG error: http://repositories.ros.org/ubuntu/testing focal InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics <in...@osrfoundation.org>
E: The repository 'http://repositories.ros.org/ubuntu/testing focal InRelease' is not signed.
[0mRemoving intermediate container 7a16bade279b
The command '/bin/sh -c for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done' returned a non-zero code: 1
Build step 'Execute shell' marked build as failure
Reply all
Reply to author
Forward
0 new messages